Created
May 20, 2022 18:04
-
-
Save AndyAyersMS/f236bed055897393e321b4d1925a7f5c to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
****** START compiling Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference (MethodHash=29af777d) | |
Generating code for Windows x64 | |
OPTIONS: Tier-1 compilation | |
OPTIONS: compCodeOpt = FAST_CODE | |
OPTIONS: compDbgCode = false | |
OPTIONS: compDbgInfo = true | |
OPTIONS: compDbgEnC = false | |
OPTIONS: compProcedureSplitting = false | |
OPTIONS: compProcedureSplittingEH = false | |
OPTIONS: optimized using dynamic profile data | |
IL to import: | |
IL_0000 02 ldarg.0 | |
IL_0001 75 52 00 00 02 isinst 0x2000052 | |
IL_0006 0a stloc.0 | |
IL_0007 06 ldloc.0 | |
IL_0008 2c 0d brfalse.s 13 (IL_0017) | |
IL_000a 06 ldloc.0 | |
IL_000b 28 eb 00 00 06 call 0x60000EB | |
IL_0010 16 ldc.i4.0 | |
IL_0011 73 04 01 00 06 newobj 0x6000104 | |
IL_0016 2a ret | |
IL_0017 02 ldarg.0 | |
IL_0018 2d 0c brtrue.s 12 (IL_0026) | |
IL_001a 28 d8 07 00 06 call 0x60007D8 | |
IL_001f 16 ldc.i4.0 | |
IL_0020 73 04 01 00 06 newobj 0x6000104 | |
IL_0025 2a ret | |
IL_0026 02 ldarg.0 | |
IL_0027 6f f9 00 00 0a callvirt 0xA0000F9 | |
IL_002c 10 01 starg.s 0x1 | |
IL_002e 03 ldarg.1 | |
IL_002f 6f fa 00 00 0a callvirt 0xA0000FA | |
IL_0034 39 84 00 00 00 brfalse 132 (IL_00bd) | |
IL_0039 02 ldarg.0 | |
IL_003a 75 49 00 00 01 isinst 0x1000049 | |
IL_003f 2c 7c brfalse.s 124 (IL_00bd) | |
IL_0041 02 ldarg.0 | |
IL_0042 75 cd 00 00 01 isinst 0x10000CD | |
IL_0047 2d 74 brtrue.s 116 (IL_00bd) | |
IL_0049 73 ce 06 00 06 newobj 0x60006CE | |
IL_004e 0d stloc.3 | |
IL_004f 02 ldarg.0 | |
IL_0050 74 29 00 00 01 castclass 0x1000029 | |
IL_0055 6f 13 00 00 0a callvirt 0xA000013 | |
IL_005a 13 04 stloc.s 0x4 | |
IL_005c 2b 28 br.s 40 (IL_0086) | |
IL_005e 11 04 ldloc.s 0x4 | |
IL_0060 6f 11 00 00 0a callvirt 0xA000011 | |
IL_0065 13 05 stloc.s 0x5 | |
IL_0067 11 05 ldloc.s 0x5 | |
IL_0069 28 56 00 00 06 call 0x6000056 | |
IL_006e 13 06 stloc.s 0x6 | |
IL_0070 09 ldloc.3 | |
IL_0071 11 06 ldloc.s 0x6 | |
IL_0073 6f d3 06 00 06 callvirt 0x60006D3 | |
IL_0078 de 0c leave.s 12 (IL_0086) | |
IL_007a 11 06 ldloc.s 0x6 | |
IL_007c 2c 07 brfalse.s 7 (IL_0085) | |
IL_007e 11 06 ldloc.s 0x6 | |
IL_0080 6f 0d 00 00 0a callvirt 0xA00000D | |
IL_0085 dc endfinally | |
IL_0086 11 04 ldloc.s 0x4 | |
IL_0088 6f 0e 00 00 0a callvirt 0xA00000E | |
IL_008d 2d cf brtrue.s -49 (IL_005e) | |
IL_008f de 15 leave.s 21 (IL_00a6) | |
IL_0091 11 04 ldloc.s 0x4 | |
IL_0093 75 27 00 00 01 isinst 0x1000027 | |
IL_0098 13 07 stloc.s 0x7 | |
IL_009a 11 07 ldloc.s 0x7 | |
IL_009c 2c 07 brfalse.s 7 (IL_00a5) | |
IL_009e 11 07 ldloc.s 0x7 | |
IL_00a0 6f 0d 00 00 0a callvirt 0xA00000D | |
IL_00a5 dc endfinally | |
IL_00a6 09 ldloc.3 | |
IL_00a7 28 74 07 00 06 call 0x6000774 | |
IL_00ac 13 08 stloc.s 0x8 | |
IL_00ae dd e1 03 00 00 leave 993 (IL_0494) | |
IL_00b3 09 ldloc.3 | |
IL_00b4 2c 06 brfalse.s 6 (IL_00bc) | |
IL_00b6 09 ldloc.3 | |
IL_00b7 6f 0d 00 00 0a callvirt 0xA00000D | |
IL_00bc dc endfinally | |
IL_00bd 02 ldarg.0 | |
IL_00be 75 6b 00 00 02 isinst 0x200006B | |
IL_00c3 0b stloc.1 | |
IL_00c4 07 ldloc.1 | |
IL_00c5 2c 14 brfalse.s 20 (IL_00db) | |
IL_00c7 7e 2e 00 00 04 ldsfld 0x400002E | |
IL_00cc 07 ldloc.1 | |
IL_00cd 6f fb 00 00 0a callvirt 0xA0000FB | |
IL_00d2 2d 07 brtrue.s 7 (IL_00db) | |
IL_00d4 07 ldloc.1 | |
IL_00d5 28 a7 09 00 06 call 0x60009A7 | |
IL_00da 2a ret | |
IL_00db 03 ldarg.1 | |
IL_00dc 28 fc 00 00 0a call 0xA0000FC | |
IL_00e1 0c stloc.2 | |
IL_00e2 08 ldloc.2 | |
IL_00e3 17 ldc.i4.1 | |
IL_00e4 59 sub | |
IL_00e5 45 12 00 00 00 05 00 00 00 dc 02 00 00 8b 00 00 00 b7 00 00 00 f4 00 00 00 ab 00 00 00 c3 00 00 00 00 01 00 00 7f 00 00 00 0c 01 00 00 cf 00 00 00 19 01 00 00 db 00 00 00 e8 00 00 00 25 01 00 00 36 01 00 00 dc 02 00 00 73 00 00 00 switch | |
IL_0132 38 d7 02 00 00 br 727 (IL_040e) | |
IL_0137 02 ldarg.0 | |
IL_0138 75 42 00 00 01 isinst 0x1000042 | |
IL_013d 2c 5e brfalse.s 94 (IL_019d) | |
IL_013f 02 ldarg.0 | |
IL_0140 a5 42 00 00 01 unbox.any 0x1000042 | |
IL_0145 13 0f stloc.s 0xF | |
IL_0147 17 ldc.i4.1 | |
IL_0148 d3 conv.i | |
IL_0149 28 b3 08 00 06 call 0x60008B3 | |
IL_014e 13 10 stloc.s 0x10 | |
IL_0150 12 10 ldloca.s 0x10 | |
IL_0152 28 16 01 00 06 call 0x6000116 | |
IL_0157 16 ldc.i4.0 | |
IL_0158 d3 conv.i | |
IL_0159 12 0f ldloca.s 0xF | |
IL_015b 28 fd 00 00 0a call 0xA0000FD | |
IL_0160 28 54 08 00 06 call 0x6000854 | |
IL_0165 13 12 stloc.s 0x12 | |
IL_0167 12 12 ldloca.s 0x12 | |
IL_0169 28 0c 01 00 06 call 0x600010C | |
IL_016e 28 b6 08 00 06 call 0x60008B6 | |
IL_0173 26 pop | |
IL_0174 7e 20 00 00 04 ldsfld 0x4000020 | |
IL_0179 28 eb 00 00 06 call 0x60000EB | |
IL_017e 12 10 ldloca.s 0x10 | |
IL_0180 28 16 01 00 06 call 0x6000116 | |
IL_0185 28 24 08 00 06 call 0x6000824 | |
IL_018a 13 11 stloc.s 0x11 | |
IL_018c 11 11 ldloc.s 0x11 | |
IL_018e 13 08 stloc.s 0x8 | |
IL_0190 dd ff 02 00 00 leave 767 (IL_0494) | |
IL_0195 12 10 ldloca.s 0x10 | |
IL_0197 28 0e 01 00 06 call 0x600010E | |
IL_019c dc endfinally | |
IL_019d 02 ldarg.0 | |
IL_019e 03 ldarg.1 | |
IL_019f 28 c8 09 00 06 call 0x60009C8 | |
IL_01a4 2a ret | |
IL_01a5 02 ldarg.0 | |
IL_01a6 74 be 00 00 01 castclass 0x10000BE | |
IL_01ab 28 81 08 00 06 call 0x6000881 | |
IL_01b0 2a ret | |
IL_01b1 02 ldarg.0 | |
IL_01b2 a5 c9 00 00 01 unbox.any 0x10000C9 | |
IL_01b7 28 47 08 00 06 call 0x6000847 | |
IL_01bc 2a ret | |
IL_01bd 02 ldarg.0 | |
IL_01be a5 b6 00 00 01 unbox.any 0x10000B6 | |
IL_01c3 2c 0c brfalse.s 12 (IL_01d1) | |
IL_01c5 28 d6 07 00 06 call 0x60007D6 | |
IL_01ca 16 ldc.i4.0 | |
IL_01cb 73 04 01 00 06 newobj 0x6000104 | |
IL_01d0 2a ret | |
IL_01d1 28 d7 07 00 06 call 0x60007D7 | |
IL_01d6 16 ldc.i4.0 | |
IL_01d7 73 04 01 00 06 newobj 0x6000104 | |
IL_01dc 2a ret | |
IL_01dd 02 ldarg.0 | |
IL_01de a5 b5 00 00 01 unbox.any 0x10000B5 | |
IL_01e3 28 47 08 00 06 call 0x6000847 | |
IL_01e8 2a ret | |
IL_01e9 02 ldarg.0 | |
IL_01ea a5 bf 00 00 01 unbox.any 0x10000BF | |
IL_01ef 28 8b 08 00 06 call 0x600088B | |
IL_01f4 2a ret | |
IL_01f5 02 ldarg.0 | |
IL_01f6 a5 c8 00 00 01 unbox.any 0x10000C8 | |
IL_01fb 28 47 08 00 06 call 0x6000847 | |
IL_0200 2a ret | |
IL_0201 02 ldarg.0 | |
IL_0202 a5 ca 00 00 01 unbox.any 0x10000CA | |
IL_0207 28 4a 08 00 06 call 0x600084A | |
IL_020c 2a ret | |
IL_020d 02 ldarg.0 | |
IL_020e a5 cb 00 00 01 unbox.any 0x10000CB | |
IL_0213 6c conv.r8 | |
IL_0214 28 54 08 00 06 call 0x6000854 | |
IL_0219 2a ret | |
IL_021a 02 ldarg.0 | |
IL_021b a5 cc 00 00 01 unbox.any 0x10000CC | |
IL_0220 28 54 08 00 06 call 0x6000854 | |
IL_0225 2a ret | |
IL_0226 02 ldarg.0 | |
IL_0227 a5 ce 00 00 01 unbox.any 0x10000CE | |
IL_022c 28 47 08 00 06 call 0x6000847 | |
IL_0231 2a ret | |
IL_0232 02 ldarg.0 | |
IL_0233 a5 cf 00 00 01 unbox.any 0x10000CF | |
IL_0238 28 47 08 00 06 call 0x6000847 | |
IL_023d 2a ret | |
IL_023e 02 ldarg.0 | |
IL_023f a5 d0 00 00 01 unbox.any 0x10000D0 | |
IL_0244 6e conv.u8 | |
IL_0245 28 4b 08 00 06 call 0x600084B | |
IL_024a 2a ret | |
IL_024b 02 ldarg.0 | |
IL_024c a5 d1 00 00 01 unbox.any 0x10000D1 | |
IL_0251 28 4b 08 00 06 call 0x600084B | |
IL_0256 2a ret | |
IL_0257 02 ldarg.0 | |
IL_0258 a5 46 00 00 01 unbox.any 0x1000046 | |
IL_025d 28 fe 00 00 0a call 0xA0000FE | |
IL_0262 28 54 08 00 06 call 0x6000854 | |
IL_0267 2a ret | |
IL_0268 02 ldarg.0 | |
IL_0269 a5 41 00 00 01 unbox.any 0x1000041 | |
IL_026e 13 09 stloc.s 0x9 | |
IL_0270 12 09 ldloca.s 0x9 | |
IL_0272 28 ff 00 00 0a call 0xA0000FF | |
IL_0277 2c 03 brfalse.s 3 (IL_027c) | |
IL_0279 1e ldc.i4.8 | |
IL_027a 2b 01 br.s 1 (IL_027d) | |
IL_027c 1d ldc.i4.7 | |
IL_027d 13 0a stloc.s 0xA | |
IL_027f 12 09 ldloca.s 0x9 | |
IL_0281 28 ff 00 00 0a call 0xA0000FF | |
IL_0286 2c 07 brfalse.s 7 (IL_028f) | |
IL_0288 7e 23 00 00 04 ldsfld 0x4000023 | |
IL_028d 2b 05 br.s 5 (IL_0294) | |
IL_028f 7e 22 00 00 04 ldsfld 0x4000022 | |
IL_0294 13 0b stloc.s 0xB | |
IL_0296 11 0b ldloc.s 0xB | |
IL_0298 28 eb 00 00 06 call 0x60000EB | |
IL_029d 16 ldc.i4.0 | |
IL_029e d3 conv.i | |
IL_029f 12 09 ldloca.s 0x9 | |
IL_02a1 28 00 01 00 0a call 0xA000100 | |
IL_02a6 28 47 08 00 06 call 0x6000847 | |
IL_02ab 13 12 stloc.s 0x12 | |
IL_02ad 12 12 ldloca.s 0x12 | |
IL_02af 28 0c 01 00 06 call 0x600010C | |
IL_02b4 28 b6 08 00 06 call 0x60008B6 | |
IL_02b9 26 pop | |
IL_02ba 11 0b ldloc.s 0xB | |
IL_02bc 28 eb 00 00 06 call 0x60000EB | |
IL_02c1 17 ldc.i4.1 | |
IL_02c2 d3 conv.i | |
IL_02c3 12 09 ldloca.s 0x9 | |
IL_02c5 28 01 01 00 0a call 0xA000101 | |
IL_02ca 28 47 08 00 06 call 0x6000847 | |
IL_02cf 13 12 stloc.s 0x12 | |
IL_02d1 12 12 ldloca.s 0x12 | |
IL_02d3 28 0c 01 00 06 call 0x600010C | |
IL_02d8 28 b6 08 00 06 call 0x60008B6 | |
IL_02dd 26 pop | |
IL_02de 11 0b ldloc.s 0xB | |
IL_02e0 28 eb 00 00 06 call 0x60000EB | |
IL_02e5 18 ldc.i4.2 | |
IL_02e6 d3 conv.i | |
IL_02e7 12 09 ldloca.s 0x9 | |
IL_02e9 28 02 01 00 0a call 0xA000102 | |
IL_02ee 28 47 08 00 06 call 0x6000847 | |
IL_02f3 13 12 stloc.s 0x12 | |
IL_02f5 12 12 ldloca.s 0x12 | |
IL_02f7 28 0c 01 00 06 call 0x600010C | |
IL_02fc 28 b6 08 00 06 call 0x60008B6 | |
IL_0301 26 pop | |
IL_0302 11 0b ldloc.s 0xB | |
IL_0304 28 eb 00 00 06 call 0x60000EB | |
IL_0309 19 ldc.i4.3 | |
IL_030a d3 conv.i | |
IL_030b 12 09 ldloca.s 0x9 | |
IL_030d 28 03 01 00 0a call 0xA000103 | |
IL_0312 28 47 08 00 06 call 0x6000847 | |
IL_0317 13 12 stloc.s 0x12 | |
IL_0319 12 12 ldloca.s 0x12 | |
IL_031b 28 0c 01 00 06 call 0x600010C | |
IL_0320 28 b6 08 00 06 call 0x60008B6 | |
IL_0325 26 pop | |
IL_0326 11 0b ldloc.s 0xB | |
IL_0328 28 eb 00 00 06 call 0x60000EB | |
IL_032d 1a ldc.i4.4 | |
IL_032e d3 conv.i | |
IL_032f 12 09 ldloca.s 0x9 | |
IL_0331 28 04 01 00 0a call 0xA000104 | |
IL_0336 28 47 08 00 06 call 0x6000847 | |
IL_033b 13 12 stloc.s 0x12 | |
IL_033d 12 12 ldloca.s 0x12 | |
IL_033f 28 0c 01 00 06 call 0x600010C | |
IL_0344 28 b6 08 00 06 call 0x60008B6 | |
IL_0349 26 pop | |
IL_034a 11 0b ldloc.s 0xB | |
IL_034c 28 eb 00 00 06 call 0x60000EB | |
IL_0351 1b ldc.i4.5 | |
IL_0352 d3 conv.i | |
IL_0353 12 09 ldloca.s 0x9 | |
IL_0355 28 05 01 00 0a call 0xA000105 | |
IL_035a 28 47 08 00 06 call 0x6000847 | |
IL_035f 13 12 stloc.s 0x12 | |
IL_0361 12 12 ldloca.s 0x12 | |
IL_0363 28 0c 01 00 06 call 0x600010C | |
IL_0368 28 b6 08 00 06 call 0x60008B6 | |
IL_036d 26 pop | |
IL_036e 12 09 ldloca.s 0x9 | |
IL_0370 28 06 01 00 0a call 0xA000106 | |
IL_0375 13 13 stloc.s 0x13 | |
IL_0377 12 13 ldloca.s 0x13 | |
IL_0379 28 07 01 00 0a call 0xA000107 | |
IL_037e 13 0c stloc.s 0xC | |
IL_0380 11 0c ldloc.s 0xC | |
IL_0382 11 0c ldloc.s 0xC | |
IL_0384 28 08 01 00 0a call 0xA000108 | |
IL_0389 59 sub | |
IL_038a 23 00 00 00 00 80 84 2e 41 ldc.r8 1000000.000000 | |
IL_0393 5a mul | |
IL_0394 28 09 01 00 0a call 0xA000109 | |
IL_0399 13 0d stloc.s 0xD | |
IL_039b 11 0d ldloc.s 0xD | |
IL_039d 20 40 42 0f 00 ldc.i4 0xF4240 | |
IL_03a2 33 07 bne.un.s 7 (IL_03ab) | |
IL_03a4 20 3f 42 0f 00 ldc.i4 0xF423F | |
IL_03a9 13 0d stloc.s 0xD | |
IL_03ab 11 0b ldloc.s 0xB | |
IL_03ad 28 eb 00 00 06 call 0x60000EB | |
IL_03b2 1c ldc.i4.6 | |
IL_03b3 d3 conv.i | |
IL_03b4 11 0d ldloc.s 0xD | |
IL_03b6 28 47 08 00 06 call 0x6000847 | |
IL_03bb 13 12 stloc.s 0x12 | |
IL_03bd 12 12 ldloca.s 0x12 | |
IL_03bf 28 0c 01 00 06 call 0x600010C | |
IL_03c4 28 b6 08 00 06 call 0x60008B6 | |
IL_03c9 26 pop | |
IL_03ca 11 0a ldloc.s 0xA | |
IL_03cc 1e ldc.i4.8 | |
IL_03cd 33 24 bne.un.s 36 (IL_03f3) | |
IL_03cf 11 0b ldloc.s 0xB | |
IL_03d1 28 eb 00 00 06 call 0x60000EB | |
IL_03d6 1d ldc.i4.7 | |
IL_03d7 d3 conv.i | |
IL_03d8 12 09 ldloca.s 0x9 | |
IL_03da 28 ff 00 00 0a call 0xA0000FF | |
IL_03df 28 45 00 00 06 call 0x6000045 | |
IL_03e4 13 12 stloc.s 0x12 | |
IL_03e6 12 12 ldloca.s 0x12 | |
IL_03e8 28 0c 01 00 06 call 0x600010C | |
IL_03ed 28 b6 08 00 06 call 0x60008B6 | |
IL_03f2 26 pop | |
IL_03f3 7e 1f 00 00 04 ldsfld 0x400001F | |
IL_03f8 28 eb 00 00 06 call 0x60000EB | |
IL_03fd 11 0b ldloc.s 0xB | |
IL_03ff 28 eb 00 00 06 call 0x60000EB | |
IL_0404 28 24 08 00 06 call 0x6000824 | |
IL_0409 13 0e stloc.s 0xE | |
IL_040b 11 0e ldloc.s 0xE | |
IL_040d 2a ret | |
IL_040e 02 ldarg.0 | |
IL_040f 75 29 00 00 01 isinst 0x1000029 | |
IL_0414 2c 76 brfalse.s 118 (IL_048c) | |
IL_0416 73 ce 06 00 06 newobj 0x60006CE | |
IL_041b 13 14 stloc.s 0x14 | |
IL_041d 02 ldarg.0 | |
IL_041e 74 29 00 00 01 castclass 0x1000029 | |
IL_0423 6f 13 00 00 0a callvirt 0xA000013 | |
IL_0428 13 15 stloc.s 0x15 | |
IL_042a 2b 29 br.s 41 (IL_0455) | |
IL_042c 11 15 ldloc.s 0x15 | |
IL_042e 6f 11 00 00 0a callvirt 0xA000011 | |
IL_0433 13 16 stloc.s 0x16 | |
IL_0435 11 16 ldloc.s 0x16 | |
IL_0437 28 56 00 00 06 call 0x6000056 | |
IL_043c 13 17 stloc.s 0x17 | |
IL_043e 11 14 ldloc.s 0x14 | |
IL_0440 11 17 ldloc.s 0x17 | |
IL_0442 6f d3 06 00 06 callvirt 0x60006D3 | |
IL_0447 de 0c leave.s 12 (IL_0455) | |
IL_0449 11 17 ldloc.s 0x17 | |
IL_044b 2c 07 brfalse.s 7 (IL_0454) | |
IL_044d 11 17 ldloc.s 0x17 | |
IL_044f 6f 0d 00 00 0a callvirt 0xA00000D | |
IL_0454 dc endfinally | |
IL_0455 11 15 ldloc.s 0x15 | |
IL_0457 6f 0e 00 00 0a callvirt 0xA00000E | |
IL_045c 2d ce brtrue.s -50 (IL_042c) | |
IL_045e de 15 leave.s 21 (IL_0475) | |
IL_0460 11 15 ldloc.s 0x15 | |
IL_0462 75 27 00 00 01 isinst 0x1000027 | |
IL_0467 13 07 stloc.s 0x7 | |
IL_0469 11 07 ldloc.s 0x7 | |
IL_046b 2c 07 brfalse.s 7 (IL_0474) | |
IL_046d 11 07 ldloc.s 0x7 | |
IL_046f 6f 0d 00 00 0a callvirt 0xA00000D | |
IL_0474 dc endfinally | |
IL_0475 11 14 ldloc.s 0x14 | |
IL_0477 28 74 07 00 06 call 0x6000774 | |
IL_047c 13 08 stloc.s 0x8 | |
IL_047e de 14 leave.s 20 (IL_0494) | |
IL_0480 11 14 ldloc.s 0x14 | |
IL_0482 2c 07 brfalse.s 7 (IL_048b) | |
IL_0484 11 14 ldloc.s 0x14 | |
IL_0486 6f 0d 00 00 0a callvirt 0xA00000D | |
IL_048b dc endfinally | |
IL_048c 02 ldarg.0 | |
IL_048d 03 ldarg.1 | |
IL_048e 28 c8 09 00 06 call 0x60009C8 | |
IL_0493 2a ret | |
IL_0494 11 08 ldloc.s 0x8 | |
IL_0496 2a ret | |
lvaSetClass: setting class for V00 to (00007FF8FCE25908) System.Object | |
Arg #0 passed in register(s) rcx | |
lvaSetClass: setting class for V01 to (00007FF8FCE2C078) System.Type | |
Arg #1 passed in register(s) rdx | |
lvaSetClass: setting class for V02 to (00007FF9001C7A70) Python.Runtime.PyObject | |
lvaSetClass: setting class for V03 to (00007FF9014E0530) Python.Runtime.IPythonDerivedType | |
lvaSetClass: setting class for V05 to (00007FF9014B26A0) Python.Runtime.PyList | |
lvaSetClass: setting class for V06 to (00007FF8FD0E8FD0) System.Collections.IEnumerator | |
lvaSetClass: setting class for V07 to (00007FF8FCE25908) System.Object | |
lvaSetClass: setting class for V08 to (00007FF9001C7A70) Python.Runtime.PyObject | |
lvaSetClass: setting class for V09 to (00007FF8FCFBD948) System.IDisposable | |
lvaSetClass: setting class for V13 to (00007FF9001C7A70) Python.Runtime.PyObject | |
lvaSetClass: setting class for V22 to (00007FF9014B26A0) Python.Runtime.PyList | |
lvaSetClass: setting class for V23 to (00007FF8FD0E8FD0) System.Collections.IEnumerator | |
lvaSetClass: setting class for V24 to (00007FF8FCE25908) System.Object | |
lvaSetClass: setting class for V25 to (00007FF9001C7A70) Python.Runtime.PyObject | |
lvaGrabTemp returning 26 (V26 tmp0) (a long lifetime temp) called for OutgoingArgSpace. | |
; Initial local variable assignments | |
; | |
; V00 arg0 ref class-hnd | |
; V01 arg1 ref class-hnd | |
; V02 loc0 ref class-hnd | |
; V03 loc1 ref class-hnd | |
; V04 loc2 int | |
; V05 loc3 ref class-hnd | |
; V06 loc4 ref class-hnd | |
; V07 loc5 ref class-hnd | |
; V08 loc6 ref class-hnd | |
; V09 loc7 ref class-hnd | |
; V10 loc8 struct <Python.Runtime.NewReference, 8> | |
; V11 loc9 struct <System.DateTime, 8> | |
; V12 loc10 int | |
; V13 loc11 ref class-hnd | |
; V14 loc12 double | |
; V15 loc13 int | |
; V16 loc14 struct <Python.Runtime.NewReference, 8> | |
; V17 loc15 struct <System.TimeSpan, 8> | |
; V18 loc16 struct <Python.Runtime.NewReference, 8> | |
; V19 loc17 struct <Python.Runtime.NewReference, 8> | |
; V20 loc18 struct <Python.Runtime.NewReference, 8> | |
; V21 loc19 struct <System.TimeSpan, 8> | |
; V22 loc20 ref class-hnd | |
; V23 loc21 ref class-hnd | |
; V24 loc22 ref class-hnd | |
; V25 loc23 ref class-hnd | |
; V26 OutArgs lclBlk <na> "OutgoingArgSpace" | |
*************** In compInitDebuggingInfo() for Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference | |
getVars() returned cVars = 0, extendOthers = true | |
info.compVarScopesCount = 26 | |
VarNum LVNum Name Beg End | |
0: 00h 00h V00 arg0 000h 497h | |
1: 01h 01h V01 arg1 000h 497h | |
2: 02h 02h V02 loc0 000h 497h | |
3: 03h 03h V03 loc1 000h 497h | |
4: 04h 04h V04 loc2 000h 497h | |
5: 05h 05h V05 loc3 000h 497h | |
6: 06h 06h V06 loc4 000h 497h | |
7: 07h 07h V07 loc5 000h 497h | |
8: 08h 08h V08 loc6 000h 497h | |
9: 09h 09h V09 loc7 000h 497h | |
10: 0Ah 0Ah V10 loc8 000h 497h | |
11: 0Bh 0Bh V11 loc9 000h 497h | |
12: 0Ch 0Ch V12 loc10 000h 497h | |
13: 0Dh 0Dh V13 loc11 000h 497h | |
14: 0Eh 0Eh V14 loc12 000h 497h | |
15: 0Fh 0Fh V15 loc13 000h 497h | |
16: 10h 10h V16 loc14 000h 497h | |
17: 11h 11h V17 loc15 000h 497h | |
18: 12h 12h V18 loc16 000h 497h | |
19: 13h 13h V19 loc17 000h 497h | |
20: 14h 14h V20 loc18 000h 497h | |
21: 15h 15h V21 loc19 000h 497h | |
22: 16h 16h V22 loc20 000h 497h | |
23: 17h 17h V23 loc21 000h 497h | |
24: 18h 18h V24 loc22 000h 497h | |
25: 19h 19h V25 loc23 000h 497h | |
info.compStmtOffsetsCount = 0 | |
info.compStmtOffsetsImplicit = 0005h ( STACK_EMPTY CALL_SITE ) | |
*************** In fgFindBasicBlocks() for Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference | |
Marked V02 as a single def local | |
Marked V03 as a single def local | |
Marked V04 as a single def local | |
Marked V05 as a single def local | |
Marked V06 as a single def local | |
Marked V07 as a single def local | |
Marked V08 as a single def local | |
Marked V12 as a single def local | |
Marked V13 as a single def local | |
Marked V14 as a single def local | |
Marked V16 as a single def local | |
Marked V19 as a single def local | |
Marked V22 as a single def local | |
Marked V23 as a single def local | |
Marked V24 as a single def local | |
Marked V25 as a single def local | |
Jump targets: | |
IL_0017 | |
IL_0026 | |
IL_004f | |
IL_005c | |
IL_005e | |
IL_0070 | |
IL_007a | |
IL_0085 | |
IL_0086 | |
IL_0091 | |
IL_00a5 | |
IL_00a6 | |
IL_00b3 | |
IL_00bc | |
IL_00bd | |
IL_00db | |
IL_0132 | |
IL_0137 | |
IL_0150 | |
IL_0195 | |
IL_019d | |
IL_01a5 | |
IL_01b1 | |
IL_01bd | |
IL_01d1 | |
IL_01dd | |
IL_01e9 | |
IL_01f5 | |
IL_0201 | |
IL_020d | |
IL_021a | |
IL_0226 | |
IL_0232 | |
IL_023e | |
IL_024b | |
IL_0257 | |
IL_0268 | |
IL_027c | |
IL_027d | |
IL_028f | |
IL_0294 | |
IL_03ab | |
IL_03f3 | |
IL_040e | |
IL_041d | |
IL_042a | |
IL_042c | |
IL_043e | |
IL_0449 | |
IL_0454 | |
IL_0455 | |
IL_0460 | |
IL_0474 | |
IL_0475 | |
IL_0480 | |
IL_048b | |
IL_048c | |
IL_0494 | |
New Basic Block BB01 [0000] created. | |
BB01 [000..00A) | |
New Basic Block BB02 [0001] created. | |
BB02 [00A..017) | |
New Basic Block BB03 [0002] created. | |
BB03 [017..01A) | |
New Basic Block BB04 [0003] created. | |
BB04 [01A..026) | |
New Basic Block BB05 [0004] created. | |
BB05 [026..039) | |
New Basic Block BB06 [0005] created. | |
BB06 [039..041) | |
New Basic Block BB07 [0006] created. | |
BB07 [041..049) | |
New Basic Block BB08 [0007] created. | |
BB08 [049..04F) | |
New Basic Block BB09 [0008] created. | |
BB09 [04F..05C) | |
New Basic Block BB10 [0009] created. | |
BB10 [05C..05E) | |
New Basic Block BB11 [0010] created. | |
BB11 [05E..070) | |
New Basic Block BB12 [0011] created. | |
BB12 [070..07A) | |
New Basic Block BB13 [0012] created. | |
BB13 [07A..07E) | |
New Basic Block BB14 [0013] created. | |
BB14 [07E..085) | |
New Basic Block BB15 [0014] created. | |
BB15 [085..086) | |
New Basic Block BB16 [0015] created. | |
BB16 [086..08F) | |
New Basic Block BB17 [0016] created. | |
BB17 [08F..091) | |
New Basic Block BB18 [0017] created. | |
BB18 [091..09E) | |
New Basic Block BB19 [0018] created. | |
BB19 [09E..0A5) | |
New Basic Block BB20 [0019] created. | |
BB20 [0A5..0A6) | |
New Basic Block BB21 [0020] created. | |
BB21 [0A6..0B3) | |
New Basic Block BB22 [0021] created. | |
BB22 [0B3..0B6) | |
New Basic Block BB23 [0022] created. | |
BB23 [0B6..0BC) | |
New Basic Block BB24 [0023] created. | |
BB24 [0BC..0BD) | |
New Basic Block BB25 [0024] created. | |
BB25 [0BD..0C7) | |
New Basic Block BB26 [0025] created. | |
BB26 [0C7..0D4) | |
New Basic Block BB27 [0026] created. | |
BB27 [0D4..0DB) | |
New Basic Block BB28 [0027] created. | |
BB28 [0DB..132) | |
New Basic Block BB29 [0028] created. | |
BB29 [132..137) | |
New Basic Block BB30 [0029] created. | |
BB30 [137..13F) | |
New Basic Block BB31 [0030] created. | |
BB31 [13F..150) | |
New Basic Block BB32 [0031] created. | |
BB32 [150..195) | |
New Basic Block BB33 [0032] created. | |
BB33 [195..19D) | |
New Basic Block BB34 [0033] created. | |
BB34 [19D..1A5) | |
New Basic Block BB35 [0034] created. | |
BB35 [1A5..1B1) | |
New Basic Block BB36 [0035] created. | |
BB36 [1B1..1BD) | |
New Basic Block BB37 [0036] created. | |
BB37 [1BD..1C5) | |
New Basic Block BB38 [0037] created. | |
BB38 [1C5..1D1) | |
New Basic Block BB39 [0038] created. | |
BB39 [1D1..1DD) | |
New Basic Block BB40 [0039] created. | |
BB40 [1DD..1E9) | |
New Basic Block BB41 [0040] created. | |
BB41 [1E9..1F5) | |
New Basic Block BB42 [0041] created. | |
BB42 [1F5..201) | |
New Basic Block BB43 [0042] created. | |
BB43 [201..20D) | |
New Basic Block BB44 [0043] created. | |
BB44 [20D..21A) | |
New Basic Block BB45 [0044] created. | |
BB45 [21A..226) | |
New Basic Block BB46 [0045] created. | |
BB46 [226..232) | |
New Basic Block BB47 [0046] created. | |
BB47 [232..23E) | |
New Basic Block BB48 [0047] created. | |
BB48 [23E..24B) | |
New Basic Block BB49 [0048] created. | |
BB49 [24B..257) | |
New Basic Block BB50 [0049] created. | |
BB50 [257..268) | |
New Basic Block BB51 [0050] created. | |
BB51 [268..279) | |
New Basic Block BB52 [0051] created. | |
BB52 [279..27C) | |
New Basic Block BB53 [0052] created. | |
BB53 [27C..27D) | |
New Basic Block BB54 [0053] created. | |
BB54 [27D..288) | |
New Basic Block BB55 [0054] created. | |
BB55 [288..28F) | |
New Basic Block BB56 [0055] created. | |
BB56 [28F..294) | |
New Basic Block BB57 [0056] created. | |
BB57 [294..3A4) | |
New Basic Block BB58 [0057] created. | |
BB58 [3A4..3AB) | |
New Basic Block BB59 [0058] created. | |
BB59 [3AB..3CF) | |
New Basic Block BB60 [0059] created. | |
BB60 [3CF..3F3) | |
New Basic Block BB61 [0060] created. | |
BB61 [3F3..40E) | |
New Basic Block BB62 [0061] created. | |
BB62 [40E..416) | |
New Basic Block BB63 [0062] created. | |
BB63 [416..41D) | |
New Basic Block BB64 [0063] created. | |
BB64 [41D..42A) | |
New Basic Block BB65 [0064] created. | |
BB65 [42A..42C) | |
New Basic Block BB66 [0065] created. | |
BB66 [42C..43E) | |
New Basic Block BB67 [0066] created. | |
BB67 [43E..449) | |
New Basic Block BB68 [0067] created. | |
BB68 [449..44D) | |
New Basic Block BB69 [0068] created. | |
BB69 [44D..454) | |
New Basic Block BB70 [0069] created. | |
BB70 [454..455) | |
New Basic Block BB71 [0070] created. | |
BB71 [455..45E) | |
New Basic Block BB72 [0071] created. | |
BB72 [45E..460) | |
New Basic Block BB73 [0072] created. | |
BB73 [460..46D) | |
New Basic Block BB74 [0073] created. | |
BB74 [46D..474) | |
New Basic Block BB75 [0074] created. | |
BB75 [474..475) | |
New Basic Block BB76 [0075] created. | |
BB76 [475..480) | |
New Basic Block BB77 [0076] created. | |
BB77 [480..484) | |
New Basic Block BB78 [0077] created. | |
BB78 [484..48B) | |
New Basic Block BB79 [0078] created. | |
BB79 [48B..48C) | |
New Basic Block BB80 [0079] created. | |
BB80 [48C..494) | |
New Basic Block BB81 [0080] created. | |
BB81 [494..497) | |
EH clause #0: | |
Flags: 0x2 (finally) | |
TryOffset: 0x70 | |
TryLength: 0xa | |
HandlerOffset: 0x7a | |
HandlerLength: 0xc | |
ClassToken: 0x0 | |
EH clause #1: | |
Flags: 0x2 (finally) | |
TryOffset: 0x5c | |
TryLength: 0x35 | |
HandlerOffset: 0x91 | |
HandlerLength: 0x15 | |
ClassToken: 0x0 | |
EH clause #2: | |
Flags: 0x2 (finally) | |
TryOffset: 0x4f | |
TryLength: 0x64 | |
HandlerOffset: 0xb3 | |
HandlerLength: 0xa | |
ClassToken: 0x0 | |
EH clause #3: | |
Flags: 0x2 (finally) | |
TryOffset: 0x150 | |
TryLength: 0x45 | |
HandlerOffset: 0x195 | |
HandlerLength: 0x8 | |
ClassToken: 0x0 | |
EH clause #4: | |
Flags: 0x2 (finally) | |
TryOffset: 0x43e | |
TryLength: 0xb | |
HandlerOffset: 0x449 | |
HandlerLength: 0xc | |
ClassToken: 0x0 | |
EH clause #5: | |
Flags: 0x2 (finally) | |
TryOffset: 0x42a | |
TryLength: 0x36 | |
HandlerOffset: 0x460 | |
HandlerLength: 0x15 | |
ClassToken: 0x0 | |
EH clause #6: | |
Flags: 0x2 (finally) | |
TryOffset: 0x41d | |
TryLength: 0x63 | |
HandlerOffset: 0x480 | |
HandlerLength: 0xc | |
ClassToken: 0x0 | |
*************** After fgFindBasicBlocks() has created the EH table | |
*************** Exception Handling table | |
index eTry, eHnd | |
0 :: 1 - Try at BB12..BB12 [070..07A), Finally at BB13..BB15 [07A..086) | |
1 :: 2 - Try at BB10..BB17 [05C..091), Finally at BB18..BB20 [091..0A6) | |
2 :: - Try at BB09..BB21 [04F..0B3), Finally at BB22..BB24 [0B3..0BD) | |
3 :: - Try at BB32..BB32 [150..195), Finally at BB33..BB33 [195..19D) | |
4 :: 5 - Try at BB67..BB67 [43E..449), Finally at BB68..BB70 [449..455) | |
5 :: 6 - Try at BB65..BB72 [42A..460), Finally at BB73..BB75 [460..475) | |
6 :: - Try at BB64..BB76 [41D..480), Finally at BB77..BB79 [480..48C) | |
*************** In fgNormalizeEH() | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 100 [000..00A)-> BB03 ( cond ) | |
BB02 [0001] 1 100 [00A..017) (return) | |
BB03 [0002] 1 100 [017..01A)-> BB05 ( cond ) | |
BB04 [0003] 1 100 [01A..026) (return) | |
BB05 [0004] 1 100 [026..039)-> BB25 ( cond ) | |
BB06 [0005] 1 100 [039..041)-> BB25 ( cond ) | |
BB07 [0006] 1 100 [041..049)-> BB25 ( cond ) | |
BB08 [0007] 1 100 [049..04F) | |
BB09 [0008] 1 2 100 [04F..05C) T2 try { keep try | |
BB10 [0009] 1 1 100 [05C..05E)-> BB16 (always) T1 try { keep try | |
BB11 [0010] 1 1 100 [05E..070) T1 bwd bwd-target | |
BB12 [0011] 1 0 100 [070..07A)-> BB16 (leave ) T0 try { } keep try bwd | |
BB13 [0012] 1 1 0 100 [07A..07E)-> BB15 ( cond ) T1 H0 finally { keep bwd | |
BB14 [0013] 1 1 0 100 [07E..085) T1 H0 bwd | |
BB15 [0014] 2 1 0 100 [085..086) (finret) T1 H0 } bwd | |
BB16 [0015] 2 1 100 [086..08F)-> BB11 ( cond ) T1 bwd | |
BB17 [0016] 1 1 100 [08F..091)-> BB21 (leave ) T1 } | |
BB18 [0017] 1 2 1 100 [091..09E)-> BB20 ( cond ) T2 H1 finally { keep | |
BB19 [0018] 1 2 1 100 [09E..0A5) T2 H1 | |
BB20 [0019] 2 2 1 100 [0A5..0A6) (finret) T2 H1 } | |
BB21 [0020] 1 2 100 [0A6..0B3)-> BB81 (leave ) T2 } | |
BB22 [0021] 1 2 100 [0B3..0B6)-> BB24 ( cond ) H2 finally { keep | |
BB23 [0022] 1 2 100 [0B6..0BC) H2 | |
BB24 [0023] 2 2 100 [0BC..0BD) (finret) H2 } | |
BB25 [0024] 3 100 [0BD..0C7)-> BB28 ( cond ) | |
BB26 [0025] 1 100 [0C7..0D4)-> BB28 ( cond ) | |
BB27 [0026] 1 100 [0D4..0DB) (return) | |
BB28 [0027] 2 100 [0DB..132)-> BB30,BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB62,BB35,BB29[def] (switch) | |
BB29 [0028] 1 100 [132..137)-> BB62 (always) | |
BB30 [0029] 1 100 [137..13F)-> BB34 ( cond ) | |
BB31 [0030] 1 100 [13F..150) | |
BB32 [0031] 1 3 100 [150..195)-> BB81 (leave ) T3 try { } keep try | |
BB33 [0032] 1 3 100 [195..19D) (finret) H3 finally { } keep | |
BB34 [0033] 1 100 [19D..1A5) (return) | |
BB35 [0034] 1 100 [1A5..1B1) (return) | |
BB36 [0035] 1 100 [1B1..1BD) (return) | |
BB37 [0036] 1 100 [1BD..1C5)-> BB39 ( cond ) | |
BB38 [0037] 1 100 [1C5..1D1) (return) | |
BB39 [0038] 1 100 [1D1..1DD) (return) | |
BB40 [0039] 1 100 [1DD..1E9) (return) | |
BB41 [0040] 1 100 [1E9..1F5) (return) | |
BB42 [0041] 1 100 [1F5..201) (return) | |
BB43 [0042] 1 100 [201..20D) (return) | |
BB44 [0043] 1 100 [20D..21A) (return) | |
BB45 [0044] 1 100 [21A..226) (return) | |
BB46 [0045] 1 100 [226..232) (return) | |
BB47 [0046] 1 100 [232..23E) (return) | |
BB48 [0047] 1 100 [23E..24B) (return) | |
BB49 [0048] 1 100 [24B..257) (return) | |
BB50 [0049] 1 100 [257..268) (return) | |
BB51 [0050] 1 100 [268..279)-> BB53 ( cond ) | |
BB52 [0051] 1 100 [279..27C)-> BB54 (always) | |
BB53 [0052] 1 100 [27C..27D) | |
BB54 [0053] 2 100 [27D..288)-> BB56 ( cond ) | |
BB55 [0054] 1 100 [288..28F)-> BB57 (always) | |
BB56 [0055] 1 100 [28F..294) | |
BB57 [0056] 2 100 [294..3A4)-> BB59 ( cond ) | |
BB58 [0057] 1 100 [3A4..3AB) | |
BB59 [0058] 2 100 [3AB..3CF)-> BB61 ( cond ) | |
BB60 [0059] 1 100 [3CF..3F3) | |
BB61 [0060] 2 100 [3F3..40E) (return) | |
BB62 [0061] 3 100 [40E..416)-> BB80 ( cond ) | |
BB63 [0062] 1 100 [416..41D) | |
BB64 [0063] 1 6 100 [41D..42A) T6 try { keep try | |
BB65 [0064] 1 5 100 [42A..42C)-> BB71 (always) T5 try { keep try | |
BB66 [0065] 1 5 100 [42C..43E) T5 bwd bwd-target | |
BB67 [0066] 1 4 100 [43E..449)-> BB71 (leave ) T4 try { } keep try bwd | |
BB68 [0067] 1 5 4 100 [449..44D)-> BB70 ( cond ) T5 H4 finally { keep bwd | |
BB69 [0068] 1 5 4 100 [44D..454) T5 H4 bwd | |
BB70 [0069] 2 5 4 100 [454..455) (finret) T5 H4 } bwd | |
BB71 [0070] 2 5 100 [455..45E)-> BB66 ( cond ) T5 bwd | |
BB72 [0071] 1 5 100 [45E..460)-> BB76 (leave ) T5 } | |
BB73 [0072] 1 6 5 100 [460..46D)-> BB75 ( cond ) T6 H5 finally { keep | |
BB74 [0073] 1 6 5 100 [46D..474) T6 H5 | |
BB75 [0074] 2 6 5 100 [474..475) (finret) T6 H5 } | |
BB76 [0075] 1 6 100 [475..480)-> BB81 (leave ) T6 } | |
BB77 [0076] 1 6 100 [480..484)-> BB79 ( cond ) H6 finally { keep | |
BB78 [0077] 1 6 100 [484..48B) H6 | |
BB79 [0078] 2 6 100 [48B..48C) (finret) H6 } | |
BB80 [0079] 1 100 [48C..494) (return) | |
BB81 [0080] 3 100 [494..497) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table | |
index eTry, eHnd | |
0 :: 1 - Try at BB12..BB12 [070..07A), Finally at BB13..BB15 [07A..086) | |
1 :: 2 - Try at BB10..BB17 [05C..091), Finally at BB18..BB20 [091..0A6) | |
2 :: - Try at BB09..BB21 [04F..0B3), Finally at BB22..BB24 [0B3..0BD) | |
3 :: - Try at BB32..BB32 [150..195), Finally at BB33..BB33 [195..19D) | |
4 :: 5 - Try at BB67..BB67 [43E..449), Finally at BB68..BB70 [449..455) | |
5 :: 6 - Try at BB65..BB72 [42A..460), Finally at BB73..BB75 [460..475) | |
6 :: - Try at BB64..BB76 [41D..480), Finally at BB77..BB79 [480..48C) | |
No EH normalization performed. | |
IL Code Size,Instr 1175, 389, Basic Block count 81, Local Variable Num,Ref count 27,142 for method Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference | |
OPTIONS: opts.MinOpts() == false | |
Basic block list for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 100 [000..00A)-> BB03 ( cond ) | |
BB02 [0001] 1 100 [00A..017) (return) | |
BB03 [0002] 1 100 [017..01A)-> BB05 ( cond ) | |
BB04 [0003] 1 100 [01A..026) (return) | |
BB05 [0004] 1 100 [026..039)-> BB25 ( cond ) | |
BB06 [0005] 1 100 [039..041)-> BB25 ( cond ) | |
BB07 [0006] 1 100 [041..049)-> BB25 ( cond ) | |
BB08 [0007] 1 100 [049..04F) | |
BB09 [0008] 1 2 100 [04F..05C) T2 try { keep try | |
BB10 [0009] 1 1 100 [05C..05E)-> BB16 (always) T1 try { keep try | |
BB11 [0010] 1 1 100 [05E..070) T1 bwd bwd-target | |
BB12 [0011] 1 0 100 [070..07A)-> BB16 (leave ) T0 try { } keep try bwd | |
BB13 [0012] 1 1 0 100 [07A..07E)-> BB15 ( cond ) T1 H0 finally { keep bwd | |
BB14 [0013] 1 1 0 100 [07E..085) T1 H0 bwd | |
BB15 [0014] 2 1 0 100 [085..086) (finret) T1 H0 } bwd | |
BB16 [0015] 2 1 100 [086..08F)-> BB11 ( cond ) T1 bwd | |
BB17 [0016] 1 1 100 [08F..091)-> BB21 (leave ) T1 } | |
BB18 [0017] 1 2 1 100 [091..09E)-> BB20 ( cond ) T2 H1 finally { keep | |
BB19 [0018] 1 2 1 100 [09E..0A5) T2 H1 | |
BB20 [0019] 2 2 1 100 [0A5..0A6) (finret) T2 H1 } | |
BB21 [0020] 1 2 100 [0A6..0B3)-> BB81 (leave ) T2 } | |
BB22 [0021] 1 2 100 [0B3..0B6)-> BB24 ( cond ) H2 finally { keep | |
BB23 [0022] 1 2 100 [0B6..0BC) H2 | |
BB24 [0023] 2 2 100 [0BC..0BD) (finret) H2 } | |
BB25 [0024] 3 100 [0BD..0C7)-> BB28 ( cond ) | |
BB26 [0025] 1 100 [0C7..0D4)-> BB28 ( cond ) | |
BB27 [0026] 1 100 [0D4..0DB) (return) | |
BB28 [0027] 2 100 [0DB..132)-> BB30,BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB62,BB35,BB29[def] (switch) | |
BB29 [0028] 1 100 [132..137)-> BB62 (always) | |
BB30 [0029] 1 100 [137..13F)-> BB34 ( cond ) | |
BB31 [0030] 1 100 [13F..150) | |
BB32 [0031] 1 3 100 [150..195)-> BB81 (leave ) T3 try { } keep try | |
BB33 [0032] 1 3 100 [195..19D) (finret) H3 finally { } keep | |
BB34 [0033] 1 100 [19D..1A5) (return) | |
BB35 [0034] 1 100 [1A5..1B1) (return) | |
BB36 [0035] 1 100 [1B1..1BD) (return) | |
BB37 [0036] 1 100 [1BD..1C5)-> BB39 ( cond ) | |
BB38 [0037] 1 100 [1C5..1D1) (return) | |
BB39 [0038] 1 100 [1D1..1DD) (return) | |
BB40 [0039] 1 100 [1DD..1E9) (return) | |
BB41 [0040] 1 100 [1E9..1F5) (return) | |
BB42 [0041] 1 100 [1F5..201) (return) | |
BB43 [0042] 1 100 [201..20D) (return) | |
BB44 [0043] 1 100 [20D..21A) (return) | |
BB45 [0044] 1 100 [21A..226) (return) | |
BB46 [0045] 1 100 [226..232) (return) | |
BB47 [0046] 1 100 [232..23E) (return) | |
BB48 [0047] 1 100 [23E..24B) (return) | |
BB49 [0048] 1 100 [24B..257) (return) | |
BB50 [0049] 1 100 [257..268) (return) | |
BB51 [0050] 1 100 [268..279)-> BB53 ( cond ) | |
BB52 [0051] 1 100 [279..27C)-> BB54 (always) | |
BB53 [0052] 1 100 [27C..27D) | |
BB54 [0053] 2 100 [27D..288)-> BB56 ( cond ) | |
BB55 [0054] 1 100 [288..28F)-> BB57 (always) | |
BB56 [0055] 1 100 [28F..294) | |
BB57 [0056] 2 100 [294..3A4)-> BB59 ( cond ) | |
BB58 [0057] 1 100 [3A4..3AB) | |
BB59 [0058] 2 100 [3AB..3CF)-> BB61 ( cond ) | |
BB60 [0059] 1 100 [3CF..3F3) | |
BB61 [0060] 2 100 [3F3..40E) (return) | |
BB62 [0061] 3 100 [40E..416)-> BB80 ( cond ) | |
BB63 [0062] 1 100 [416..41D) | |
BB64 [0063] 1 6 100 [41D..42A) T6 try { keep try | |
BB65 [0064] 1 5 100 [42A..42C)-> BB71 (always) T5 try { keep try | |
BB66 [0065] 1 5 100 [42C..43E) T5 bwd bwd-target | |
BB67 [0066] 1 4 100 [43E..449)-> BB71 (leave ) T4 try { } keep try bwd | |
BB68 [0067] 1 5 4 100 [449..44D)-> BB70 ( cond ) T5 H4 finally { keep bwd | |
BB69 [0068] 1 5 4 100 [44D..454) T5 H4 bwd | |
BB70 [0069] 2 5 4 100 [454..455) (finret) T5 H4 } bwd | |
BB71 [0070] 2 5 100 [455..45E)-> BB66 ( cond ) T5 bwd | |
BB72 [0071] 1 5 100 [45E..460)-> BB76 (leave ) T5 } | |
BB73 [0072] 1 6 5 100 [460..46D)-> BB75 ( cond ) T6 H5 finally { keep | |
BB74 [0073] 1 6 5 100 [46D..474) T6 H5 | |
BB75 [0074] 2 6 5 100 [474..475) (finret) T6 H5 } | |
BB76 [0075] 1 6 100 [475..480)-> BB81 (leave ) T6 } | |
BB77 [0076] 1 6 100 [480..484)-> BB79 ( cond ) H6 finally { keep | |
BB78 [0077] 1 6 100 [484..48B) H6 | |
BB79 [0078] 2 6 100 [48B..48C) (finret) H6 } | |
BB80 [0079] 1 100 [48C..494) (return) | |
BB81 [0080] 3 100 [494..497) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Starting PHASE Pre-import | |
*************** Finishing PHASE Pre-import | |
*************** Starting PHASE Profile incorporation | |
Have dynamic profile data: 73 schema records (schema at 000001FA2D915EF0, data at 000001FA2D9165C8) | |
Unknown PGO record type 0xc3 in schema entry 3 (offset 0x2f count 0x8 other 0x80000000) | |
Unknown PGO record type 0xc3 in schema entry 7 (offset 0x55 count 0x8 other 0xc0000000) | |
Unknown PGO record type 0xc3 in schema entry 9 (offset 0x60 count 0x8 other 0xc0000000) | |
Unknown PGO record type 0xc3 in schema entry 13 (offset 0x80 count 0x8 other 0xc0000000) | |
Unknown PGO record type 0xc3 in schema entry 16 (offset 0x88 count 0x8 other 0xc0000000) | |
Unknown PGO record type 0xc3 in schema entry 19 (offset 0xa0 count 0x8 other 0xc0000000) | |
Unknown PGO record type 0xc3 in schema entry 24 (offset 0xb7 count 0x8 other 0xc0000000) | |
Unknown PGO record type 0xc3 in schema entry 53 (offset 0x423 count 0x8 other 0xc0000000) | |
Unknown PGO record type 0xc3 in schema entry 55 (offset 0x42e count 0x8 other 0xc0000000) | |
Unknown PGO record type 0xc3 in schema entry 59 (offset 0x44f count 0x8 other 0xc0000000) | |
Unknown PGO record type 0xc3 in schema entry 62 (offset 0x457 count 0x8 other 0xc0000000) | |
Unknown PGO record type 0xc3 in schema entry 65 (offset 0x46f count 0x8 other 0xc0000000) | |
Unknown PGO record type 0xc3 in schema entry 69 (offset 0x486 count 0x8 other 0xc0000000) | |
Profile summary: 1 runs, 0 block probes, 47 edge probes, 13 class profiles, 13 other records | |
Reconstructing block counts from sparse edge instrumentation | |
... adding known edge BB02 -> BB01: weight 12 | |
... adding known edge BB04 -> BB01: weight 0 | |
... adding known edge BB06 -> BB25: weight 0 | |
... adding known edge BB07 -> BB25: weight 0 | |
... adding known edge BB12 -> BB16: weight 0 | |
... adding known edge BB14 -> BB15: weight 0 | |
... adding known edge BB15 -> BB13: weight 0 | |
... adding known edge BB19 -> BB20: weight 0 | |
... adding known edge BB20 -> BB18: weight 0 | |
... adding known edge BB21 -> BB81: weight 0 | |
... adding known edge BB23 -> BB24: weight 0 | |
... adding known edge BB24 -> BB22: weight 0 | |
... adding known edge BB26 -> BB28: weight 0 | |
... adding known edge BB27 -> BB01: weight 0 | |
... adding known edge BB29 -> BB62: weight 0 | |
... adding known edge BB32 -> BB81: weight 0 | |
... adding known edge BB33 -> BB33: weight 0 | |
... adding known edge BB34 -> BB01: weight 18 | |
... adding known edge BB35 -> BB01: weight 0 | |
... adding known edge BB36 -> BB01: weight 13 | |
... adding known edge BB38 -> BB01: weight 0 | |
... adding known edge BB39 -> BB01: weight 0 | |
... adding known edge BB40 -> BB01: weight 0 | |
... adding known edge BB41 -> BB01: weight 0 | |
... adding known edge BB42 -> BB01: weight 0 | |
... adding known edge BB43 -> BB01: weight 0 | |
... adding known edge BB44 -> BB01: weight 0 | |
... adding known edge BB45 -> BB01: weight 0 | |
... adding known edge BB46 -> BB01: weight 0 | |
... adding known edge BB47 -> BB01: weight 0 | |
... adding known edge BB48 -> BB01: weight 0 | |
... adding known edge BB49 -> BB01: weight 0 | |
... adding known edge BB50 -> BB01: weight 0 | |
... adding known edge BB53 -> BB54: weight 0 | |
... adding known edge BB56 -> BB57: weight 0 | |
... adding known edge BB58 -> BB59: weight 0 | |
... adding known edge BB60 -> BB61: weight 0 | |
... adding known edge BB61 -> BB01: weight 0 | |
... adding known edge BB67 -> BB71: weight 0 | |
... adding known edge BB69 -> BB70: weight 0 | |
... adding known edge BB70 -> BB68: weight 0 | |
... adding known edge BB74 -> BB75: weight 0 | |
... adding known edge BB75 -> BB73: weight 0 | |
... adding known edge BB78 -> BB79: weight 0 | |
... adding known edge BB79 -> BB77: weight 0 | |
... adding known edge BB80 -> BB01: weight 0 | |
... adding known edge BB81 -> BB01: weight 0 | |
New BlockSet epoch 1, # of blocks (including unused BB00): 82, bitset array size: 2 (long) | |
... unknown edge BB01 -> BB03 | |
... unknown edge BB01 -> BB02 | |
... unknown edge BB03 -> BB05 | |
... unknown edge BB03 -> BB04 | |
... unknown edge BB05 -> BB06 | |
... unknown edge BB05 -> BB25 | |
... unknown edge BB25 -> BB26 | |
... unknown edge BB25 -> BB28 | |
... unknown edge BB28 -> BB29 | |
... unknown edge BB28 -> BB35 | |
... unknown edge BB28 -> BB51 | |
... unknown edge BB28 -> BB50 | |
... unknown edge BB28 -> BB45 | |
... unknown edge BB28 -> BB44 | |
... unknown edge BB28 -> BB49 | |
... unknown edge BB28 -> BB43 | |
... unknown edge BB28 -> BB48 | |
... unknown edge BB28 -> BB36 | |
... unknown edge BB28 -> BB47 | |
... unknown edge BB28 -> BB42 | |
... unknown edge BB28 -> BB40 | |
... unknown edge BB28 -> BB46 | |
... unknown edge BB28 -> BB41 | |
... unknown edge BB28 -> BB37 | |
... unknown edge BB28 -> BB30 | |
... unknown edge BB28 -> BB62 | |
... unknown edge BB62 -> BB80 | |
... unknown edge BB62 -> BB63 | |
... unknown edge BB63 -> BB64 | |
... unknown edge BB64 -> BB65 | |
... unknown edge BB65 -> BB71 | |
... unknown edge BB71 -> BB66 | |
... unknown edge BB71 -> BB72 | |
... unknown edge BB72 -> BB76 | |
... unknown edge BB76 -> BB81 | |
... unknown edge BB66 -> BB67 | |
... unknown edge BB30 -> BB34 | |
... unknown edge BB30 -> BB31 | |
... unknown edge BB31 -> BB32 | |
... unknown edge BB37 -> BB39 | |
... unknown edge BB37 -> BB38 | |
... unknown edge BB51 -> BB53 | |
... unknown edge BB51 -> BB52 | |
... unknown edge BB52 -> BB54 | |
... unknown edge BB54 -> BB56 | |
... unknown edge BB54 -> BB55 | |
... unknown edge BB55 -> BB57 | |
... unknown edge BB57 -> BB58 | |
... unknown edge BB57 -> BB59 | |
... unknown edge BB59 -> BB60 | |
... unknown edge BB59 -> BB61 | |
... unknown edge BB26 -> BB27 | |
... unknown edge BB06 -> BB07 | |
... unknown edge BB07 -> BB08 | |
... unknown edge BB08 -> BB09 | |
... unknown edge BB09 -> BB10 | |
... unknown edge BB10 -> BB16 | |
... unknown edge BB16 -> BB11 | |
... unknown edge BB16 -> BB17 | |
... unknown edge BB17 -> BB21 | |
... unknown edge BB11 -> BB12 | |
... unknown edge BB77 -> BB78 | |
... unknown edge BB77 -> BB79 | |
... unknown edge BB73 -> BB74 | |
... unknown edge BB73 -> BB75 | |
... unknown edge BB68 -> BB69 | |
... unknown edge BB68 -> BB70 | |
... unknown edge BB22 -> BB23 | |
... unknown edge BB22 -> BB24 | |
... unknown edge BB18 -> BB19 | |
... unknown edge BB18 -> BB20 | |
... unknown edge BB13 -> BB14 | |
... unknown edge BB13 -> BB15 | |
Solver: 81 blocks, 81 unknown; 120 edges, 73 unknown, 0 zero (and so ignored) | |
Pass [1]: 81 unknown blocks, 73 unknown edges | |
BB81: 1 incoming unknown, 0 outgoing unknown | |
BB81: all outgoing edge weights known, summming... | |
BB81 -> BB01 has weight 0 | |
BB81: all outgoing edge weights known, sum is 0 | |
BB76 -> BB81: target block weight and all other incoming edge weights known, so weight is 0 | |
BB80: 1 incoming unknown, 0 outgoing unknown | |
BB80: all outgoing edge weights known, summming... | |
BB80 -> BB01 has weight 0 | |
BB80: all outgoing edge weights known, sum is 0 | |
BB62 -> BB80: target block weight and all other incoming edge weights known, so weight is 0 | |
BB79: 1 incoming unknown, 0 outgoing unknown | |
BB79: all outgoing edge weights known, summming... | |
BB79 -> BB77 has weight 0 | |
BB79: all outgoing edge weights known, sum is 0 | |
BB77 -> BB79: target block weight and all other incoming edge weights known, so weight is 0 | |
BB78: 1 incoming unknown, 0 outgoing unknown | |
BB78: all outgoing edge weights known, summming... | |
BB78 -> BB79 has weight 0 | |
BB78: all outgoing edge weights known, sum is 0 | |
BB77 -> BB78: target block weight and all other incoming edge weights known, so weight is 0 | |
BB77: 0 incoming unknown, 0 outgoing unknown | |
BB77: all incoming edge weights known, summming... | |
BB79 -> BB77 has weight 0 | |
BB77: all incoming edge weights known, sum is 0 | |
BB76: 1 incoming unknown, 0 outgoing unknown | |
BB76: all outgoing edge weights known, summming... | |
BB76 -> BB81 has weight 0 | |
BB76: all outgoing edge weights known, sum is 0 | |
BB72 -> BB76: target block weight and all other incoming edge weights known, so weight is 0 | |
BB75: 1 incoming unknown, 0 outgoing unknown | |
BB75: all outgoing edge weights known, summming... | |
BB75 -> BB73 has weight 0 | |
BB75: all outgoing edge weights known, sum is 0 | |
BB73 -> BB75: target block weight and all other incoming edge weights known, so weight is 0 | |
BB74: 1 incoming unknown, 0 outgoing unknown | |
BB74: all outgoing edge weights known, summming... | |
BB74 -> BB75 has weight 0 | |
BB74: all outgoing edge weights known, sum is 0 | |
BB73 -> BB74: target block weight and all other incoming edge weights known, so weight is 0 | |
BB73: 0 incoming unknown, 0 outgoing unknown | |
BB73: all incoming edge weights known, summming... | |
BB75 -> BB73 has weight 0 | |
BB73: all incoming edge weights known, sum is 0 | |
BB72: 1 incoming unknown, 0 outgoing unknown | |
BB72: all outgoing edge weights known, summming... | |
BB72 -> BB76 has weight 0 | |
BB72: all outgoing edge weights known, sum is 0 | |
BB71 -> BB72: target block weight and all other incoming edge weights known, so weight is 0 | |
BB71: 1 incoming unknown, 1 outgoing unknown | |
BB70: 1 incoming unknown, 0 outgoing unknown | |
BB70: all outgoing edge weights known, summming... | |
BB70 -> BB68 has weight 0 | |
BB70: all outgoing edge weights known, sum is 0 | |
BB68 -> BB70: target block weight and all other incoming edge weights known, so weight is 0 | |
BB69: 1 incoming unknown, 0 outgoing unknown | |
BB69: all outgoing edge weights known, summming... | |
BB69 -> BB70 has weight 0 | |
BB69: all outgoing edge weights known, sum is 0 | |
BB68 -> BB69: target block weight and all other incoming edge weights known, so weight is 0 | |
BB68: 0 incoming unknown, 0 outgoing unknown | |
BB68: all incoming edge weights known, summming... | |
BB70 -> BB68 has weight 0 | |
BB68: all incoming edge weights known, sum is 0 | |
BB67: 1 incoming unknown, 0 outgoing unknown | |
BB67: all outgoing edge weights known, summming... | |
BB67 -> BB71 has weight 0 | |
BB67: all outgoing edge weights known, sum is 0 | |
BB66 -> BB67: target block weight and all other incoming edge weights known, so weight is 0 | |
BB66: 1 incoming unknown, 0 outgoing unknown | |
BB66: all outgoing edge weights known, summming... | |
BB66 -> BB67 has weight 0 | |
BB66: all outgoing edge weights known, sum is 0 | |
BB71 -> BB66: target block weight and all other incoming edge weights known, so weight is 0 | |
BB65: 1 incoming unknown, 1 outgoing unknown | |
BB64: 1 incoming unknown, 1 outgoing unknown | |
BB63: 1 incoming unknown, 1 outgoing unknown | |
BB62: 1 incoming unknown, 1 outgoing unknown | |
BB61: 1 incoming unknown, 0 outgoing unknown | |
BB61: all outgoing edge weights known, summming... | |
BB61 -> BB01 has weight 0 | |
BB61: all outgoing edge weights known, sum is 0 | |
BB59 -> BB61: target block weight and all other incoming edge weights known, so weight is 0 | |
BB60: 1 incoming unknown, 0 outgoing unknown | |
BB60: all outgoing edge weights known, summming... | |
BB60 -> BB61 has weight 0 | |
BB60: all outgoing edge weights known, sum is 0 | |
BB59 -> BB60: target block weight and all other incoming edge weights known, so weight is 0 | |
BB59: 1 incoming unknown, 0 outgoing unknown | |
BB59: all outgoing edge weights known, summming... | |
BB59 -> BB61 has weight 0 | |
BB59 -> BB60 has weight 0 | |
BB59: all outgoing edge weights known, sum is 0 | |
BB57 -> BB59: target block weight and all other incoming edge weights known, so weight is 0 | |
BB58: 1 incoming unknown, 0 outgoing unknown | |
BB58: all outgoing edge weights known, summming... | |
BB58 -> BB59 has weight 0 | |
BB58: all outgoing edge weights known, sum is 0 | |
BB57 -> BB58: target block weight and all other incoming edge weights known, so weight is 0 | |
BB57: 1 incoming unknown, 0 outgoing unknown | |
BB57: all outgoing edge weights known, summming... | |
BB57 -> BB59 has weight 0 | |
BB57 -> BB58 has weight 0 | |
BB57: all outgoing edge weights known, sum is 0 | |
BB55 -> BB57: target block weight and all other incoming edge weights known, so weight is 0 | |
BB56: 1 incoming unknown, 0 outgoing unknown | |
BB56: all outgoing edge weights known, summming... | |
BB56 -> BB57 has weight 0 | |
BB56: all outgoing edge weights known, sum is 0 | |
BB54 -> BB56: target block weight and all other incoming edge weights known, so weight is 0 | |
BB55: 1 incoming unknown, 0 outgoing unknown | |
BB55: all outgoing edge weights known, summming... | |
BB55 -> BB57 has weight 0 | |
BB55: all outgoing edge weights known, sum is 0 | |
BB54 -> BB55: target block weight and all other incoming edge weights known, so weight is 0 | |
BB54: 1 incoming unknown, 0 outgoing unknown | |
BB54: all outgoing edge weights known, summming... | |
BB54 -> BB55 has weight 0 | |
BB54 -> BB56 has weight 0 | |
BB54: all outgoing edge weights known, sum is 0 | |
BB52 -> BB54: target block weight and all other incoming edge weights known, so weight is 0 | |
BB53: 1 incoming unknown, 0 outgoing unknown | |
BB53: all outgoing edge weights known, summming... | |
BB53 -> BB54 has weight 0 | |
BB53: all outgoing edge weights known, sum is 0 | |
BB51 -> BB53: target block weight and all other incoming edge weights known, so weight is 0 | |
BB52: 1 incoming unknown, 0 outgoing unknown | |
BB52: all outgoing edge weights known, summming... | |
BB52 -> BB54 has weight 0 | |
BB52: all outgoing edge weights known, sum is 0 | |
BB51 -> BB52: target block weight and all other incoming edge weights known, so weight is 0 | |
BB51: 1 incoming unknown, 0 outgoing unknown | |
BB51: all outgoing edge weights known, summming... | |
BB51 -> BB52 has weight 0 | |
BB51 -> BB53 has weight 0 | |
BB51: all outgoing edge weights known, sum is 0 | |
BB28 -> BB51: target block weight and all other incoming edge weights known, so weight is 0 | |
BB50: 1 incoming unknown, 0 outgoing unknown | |
BB50: all outgoing edge weights known, summming... | |
BB50 -> BB01 has weight 0 | |
BB50: all outgoing edge weights known, sum is 0 | |
BB28 -> BB50: target block weight and all other incoming edge weights known, so weight is 0 | |
BB49: 1 incoming unknown, 0 outgoing unknown | |
BB49: all outgoing edge weights known, summming... | |
BB49 -> BB01 has weight 0 | |
BB49: all outgoing edge weights known, sum is 0 | |
BB28 -> BB49: target block weight and all other incoming edge weights known, so weight is 0 | |
BB48: 1 incoming unknown, 0 outgoing unknown | |
BB48: all outgoing edge weights known, summming... | |
BB48 -> BB01 has weight 0 | |
BB48: all outgoing edge weights known, sum is 0 | |
BB28 -> BB48: target block weight and all other incoming edge weights known, so weight is 0 | |
BB47: 1 incoming unknown, 0 outgoing unknown | |
BB47: all outgoing edge weights known, summming... | |
BB47 -> BB01 has weight 0 | |
BB47: all outgoing edge weights known, sum is 0 | |
BB28 -> BB47: target block weight and all other incoming edge weights known, so weight is 0 | |
BB46: 1 incoming unknown, 0 outgoing unknown | |
BB46: all outgoing edge weights known, summming... | |
BB46 -> BB01 has weight 0 | |
BB46: all outgoing edge weights known, sum is 0 | |
BB28 -> BB46: target block weight and all other incoming edge weights known, so weight is 0 | |
BB45: 1 incoming unknown, 0 outgoing unknown | |
BB45: all outgoing edge weights known, summming... | |
BB45 -> BB01 has weight 0 | |
BB45: all outgoing edge weights known, sum is 0 | |
BB28 -> BB45: target block weight and all other incoming edge weights known, so weight is 0 | |
BB44: 1 incoming unknown, 0 outgoing unknown | |
BB44: all outgoing edge weights known, summming... | |
BB44 -> BB01 has weight 0 | |
BB44: all outgoing edge weights known, sum is 0 | |
BB28 -> BB44: target block weight and all other incoming edge weights known, so weight is 0 | |
BB43: 1 incoming unknown, 0 outgoing unknown | |
BB43: all outgoing edge weights known, summming... | |
BB43 -> BB01 has weight 0 | |
BB43: all outgoing edge weights known, sum is 0 | |
BB28 -> BB43: target block weight and all other incoming edge weights known, so weight is 0 | |
BB42: 1 incoming unknown, 0 outgoing unknown | |
BB42: all outgoing edge weights known, summming... | |
BB42 -> BB01 has weight 0 | |
BB42: all outgoing edge weights known, sum is 0 | |
BB28 -> BB42: target block weight and all other incoming edge weights known, so weight is 0 | |
BB41: 1 incoming unknown, 0 outgoing unknown | |
BB41: all outgoing edge weights known, summming... | |
BB41 -> BB01 has weight 0 | |
BB41: all outgoing edge weights known, sum is 0 | |
BB28 -> BB41: target block weight and all other incoming edge weights known, so weight is 0 | |
BB40: 1 incoming unknown, 0 outgoing unknown | |
BB40: all outgoing edge weights known, summming... | |
BB40 -> BB01 has weight 0 | |
BB40: all outgoing edge weights known, sum is 0 | |
BB28 -> BB40: target block weight and all other incoming edge weights known, so weight is 0 | |
BB39: 1 incoming unknown, 0 outgoing unknown | |
BB39: all outgoing edge weights known, summming... | |
BB39 -> BB01 has weight 0 | |
BB39: all outgoing edge weights known, sum is 0 | |
BB37 -> BB39: target block weight and all other incoming edge weights known, so weight is 0 | |
BB38: 1 incoming unknown, 0 outgoing unknown | |
BB38: all outgoing edge weights known, summming... | |
BB38 -> BB01 has weight 0 | |
BB38: all outgoing edge weights known, sum is 0 | |
BB37 -> BB38: target block weight and all other incoming edge weights known, so weight is 0 | |
BB37: 1 incoming unknown, 0 outgoing unknown | |
BB37: all outgoing edge weights known, summming... | |
BB37 -> BB38 has weight 0 | |
BB37 -> BB39 has weight 0 | |
BB37: all outgoing edge weights known, sum is 0 | |
BB28 -> BB37: target block weight and all other incoming edge weights known, so weight is 0 | |
BB36: 1 incoming unknown, 0 outgoing unknown | |
BB36: all outgoing edge weights known, summming... | |
BB36 -> BB01 has weight 13 | |
BB36: all outgoing edge weights known, sum is 13 | |
BB28 -> BB36: target block weight and all other incoming edge weights known, so weight is 13 | |
BB35: 1 incoming unknown, 0 outgoing unknown | |
BB35: all outgoing edge weights known, summming... | |
BB35 -> BB01 has weight 0 | |
BB35: all outgoing edge weights known, sum is 0 | |
BB28 -> BB35: target block weight and all other incoming edge weights known, so weight is 0 | |
BB34: 1 incoming unknown, 0 outgoing unknown | |
BB34: all outgoing edge weights known, summming... | |
BB34 -> BB01 has weight 18 | |
BB34: all outgoing edge weights known, sum is 18 | |
BB30 -> BB34: target block weight and all other incoming edge weights known, so weight is 18 | |
BB33: 0 incoming unknown, 0 outgoing unknown | |
BB33: all incoming edge weights known, summming... | |
BB33 -> BB33 has weight 0 | |
BB33: all incoming edge weights known, sum is 0 | |
BB32: 1 incoming unknown, 0 outgoing unknown | |
BB32: all outgoing edge weights known, summming... | |
BB32 -> BB81 has weight 0 | |
BB32: all outgoing edge weights known, sum is 0 | |
BB31 -> BB32: target block weight and all other incoming edge weights known, so weight is 0 | |
BB31: 1 incoming unknown, 0 outgoing unknown | |
BB31: all outgoing edge weights known, summming... | |
BB31 -> BB32 has weight 0 | |
BB31: all outgoing edge weights known, sum is 0 | |
BB30 -> BB31: target block weight and all other incoming edge weights known, so weight is 0 | |
BB30: 1 incoming unknown, 0 outgoing unknown | |
BB30: all outgoing edge weights known, summming... | |
BB30 -> BB31 has weight 0 | |
BB30 -> BB34 has weight 18 | |
BB30: all outgoing edge weights known, sum is 18 | |
BB28 -> BB30: target block weight and all other incoming edge weights known, so weight is 18 | |
BB29: 1 incoming unknown, 0 outgoing unknown | |
BB29: all outgoing edge weights known, summming... | |
BB29 -> BB62 has weight 0 | |
BB29: all outgoing edge weights known, sum is 0 | |
BB28 -> BB29: target block weight and all other incoming edge weights known, so weight is 0 | |
BB28: 1 incoming unknown, 1 outgoing unknown | |
BB27: 1 incoming unknown, 0 outgoing unknown | |
BB27: all outgoing edge weights known, summming... | |
BB27 -> BB01 has weight 0 | |
BB27: all outgoing edge weights known, sum is 0 | |
BB26 -> BB27: target block weight and all other incoming edge weights known, so weight is 0 | |
BB26: 1 incoming unknown, 0 outgoing unknown | |
BB26: all outgoing edge weights known, summming... | |
BB26 -> BB28 has weight 0 | |
BB26 -> BB27 has weight 0 | |
BB26: all outgoing edge weights known, sum is 0 | |
BB25 -> BB26: target block weight and all other incoming edge weights known, so weight is 0 | |
BB25: 1 incoming unknown, 1 outgoing unknown | |
BB24: 1 incoming unknown, 0 outgoing unknown | |
BB24: all outgoing edge weights known, summming... | |
BB24 -> BB22 has weight 0 | |
BB24: all outgoing edge weights known, sum is 0 | |
BB22 -> BB24: target block weight and all other incoming edge weights known, so weight is 0 | |
BB23: 1 incoming unknown, 0 outgoing unknown | |
BB23: all outgoing edge weights known, summming... | |
BB23 -> BB24 has weight 0 | |
BB23: all outgoing edge weights known, sum is 0 | |
BB22 -> BB23: target block weight and all other incoming edge weights known, so weight is 0 | |
BB22: 0 incoming unknown, 0 outgoing unknown | |
BB22: all incoming edge weights known, summming... | |
BB24 -> BB22 has weight 0 | |
BB22: all incoming edge weights known, sum is 0 | |
BB21: 1 incoming unknown, 0 outgoing unknown | |
BB21: all outgoing edge weights known, summming... | |
BB21 -> BB81 has weight 0 | |
BB21: all outgoing edge weights known, sum is 0 | |
BB17 -> BB21: target block weight and all other incoming edge weights known, so weight is 0 | |
BB20: 1 incoming unknown, 0 outgoing unknown | |
BB20: all outgoing edge weights known, summming... | |
BB20 -> BB18 has weight 0 | |
BB20: all outgoing edge weights known, sum is 0 | |
BB18 -> BB20: target block weight and all other incoming edge weights known, so weight is 0 | |
BB19: 1 incoming unknown, 0 outgoing unknown | |
BB19: all outgoing edge weights known, summming... | |
BB19 -> BB20 has weight 0 | |
BB19: all outgoing edge weights known, sum is 0 | |
BB18 -> BB19: target block weight and all other incoming edge weights known, so weight is 0 | |
BB18: 0 incoming unknown, 0 outgoing unknown | |
BB18: all incoming edge weights known, summming... | |
BB20 -> BB18 has weight 0 | |
BB18: all incoming edge weights known, sum is 0 | |
BB17: 1 incoming unknown, 0 outgoing unknown | |
BB17: all outgoing edge weights known, summming... | |
BB17 -> BB21 has weight 0 | |
BB17: all outgoing edge weights known, sum is 0 | |
BB16 -> BB17: target block weight and all other incoming edge weights known, so weight is 0 | |
BB16: 1 incoming unknown, 1 outgoing unknown | |
BB15: 1 incoming unknown, 0 outgoing unknown | |
BB15: all outgoing edge weights known, summming... | |
BB15 -> BB13 has weight 0 | |
BB15: all outgoing edge weights known, sum is 0 | |
BB13 -> BB15: target block weight and all other incoming edge weights known, so weight is 0 | |
BB14: 1 incoming unknown, 0 outgoing unknown | |
BB14: all outgoing edge weights known, summming... | |
BB14 -> BB15 has weight 0 | |
BB14: all outgoing edge weights known, sum is 0 | |
BB13 -> BB14: target block weight and all other incoming edge weights known, so weight is 0 | |
BB13: 0 incoming unknown, 0 outgoing unknown | |
BB13: all incoming edge weights known, summming... | |
BB15 -> BB13 has weight 0 | |
BB13: all incoming edge weights known, sum is 0 | |
BB12: 1 incoming unknown, 0 outgoing unknown | |
BB12: all outgoing edge weights known, summming... | |
BB12 -> BB16 has weight 0 | |
BB12: all outgoing edge weights known, sum is 0 | |
BB11 -> BB12: target block weight and all other incoming edge weights known, so weight is 0 | |
BB11: 1 incoming unknown, 0 outgoing unknown | |
BB11: all outgoing edge weights known, summming... | |
BB11 -> BB12 has weight 0 | |
BB11: all outgoing edge weights known, sum is 0 | |
BB16 -> BB11: target block weight and all other incoming edge weights known, so weight is 0 | |
BB10: 1 incoming unknown, 1 outgoing unknown | |
BB09: 1 incoming unknown, 1 outgoing unknown | |
BB08: 1 incoming unknown, 1 outgoing unknown | |
BB07: 1 incoming unknown, 1 outgoing unknown | |
BB06: 1 incoming unknown, 1 outgoing unknown | |
BB05: 1 incoming unknown, 2 outgoing unknown | |
BB04: 1 incoming unknown, 0 outgoing unknown | |
BB04: all outgoing edge weights known, summming... | |
BB04 -> BB01 has weight 0 | |
BB04: all outgoing edge weights known, sum is 0 | |
BB03 -> BB04: target block weight and all other incoming edge weights known, so weight is 0 | |
BB03: 1 incoming unknown, 1 outgoing unknown | |
BB02: 1 incoming unknown, 0 outgoing unknown | |
BB02: all outgoing edge weights known, summming... | |
BB02 -> BB01 has weight 12 | |
BB02: all outgoing edge weights known, sum is 12 | |
BB01 -> BB02: target block weight and all other incoming edge weights known, so weight is 12 | |
BB01: 0 incoming unknown, 1 outgoing unknown | |
BB01: all incoming edge weights known, summming... | |
BB27 -> BB01 has weight 0 | |
BB35 -> BB01 has weight 0 | |
BB61 -> BB01 has weight 0 | |
BB50 -> BB01 has weight 0 | |
BB45 -> BB01 has weight 0 | |
BB44 -> BB01 has weight 0 | |
BB49 -> BB01 has weight 0 | |
BB43 -> BB01 has weight 0 | |
BB48 -> BB01 has weight 0 | |
BB36 -> BB01 has weight 13 | |
BB47 -> BB01 has weight 0 | |
BB42 -> BB01 has weight 0 | |
BB40 -> BB01 has weight 0 | |
BB46 -> BB01 has weight 0 | |
BB41 -> BB01 has weight 0 | |
BB39 -> BB01 has weight 0 | |
BB38 -> BB01 has weight 0 | |
BB34 -> BB01 has weight 18 | |
BB80 -> BB01 has weight 0 | |
BB81 -> BB01 has weight 0 | |
BB04 -> BB01 has weight 0 | |
BB02 -> BB01 has weight 12 | |
BB01: all incoming edge weights known, sum is 43 | |
BB01 -> BB03: source block weight and all other outgoing edge weights known, so weight is 31 | |
Pass [2]: 15 unknown blocks, 14 unknown edges | |
BB71: 1 incoming unknown, 0 outgoing unknown | |
BB71: all outgoing edge weights known, summming... | |
BB71 -> BB72 has weight 0 | |
BB71 -> BB66 has weight 0 | |
BB71: all outgoing edge weights known, sum is 0 | |
BB65 -> BB71: target block weight and all other incoming edge weights known, so weight is 0 | |
BB65: 1 incoming unknown, 0 outgoing unknown | |
BB65: all outgoing edge weights known, summming... | |
BB65 -> BB71 has weight 0 | |
BB65: all outgoing edge weights known, sum is 0 | |
BB64 -> BB65: target block weight and all other incoming edge weights known, so weight is 0 | |
BB64: 1 incoming unknown, 0 outgoing unknown | |
BB64: all outgoing edge weights known, summming... | |
BB64 -> BB65 has weight 0 | |
BB64: all outgoing edge weights known, sum is 0 | |
BB63 -> BB64: target block weight and all other incoming edge weights known, so weight is 0 | |
BB63: 1 incoming unknown, 0 outgoing unknown | |
BB63: all outgoing edge weights known, summming... | |
BB63 -> BB64 has weight 0 | |
BB63: all outgoing edge weights known, sum is 0 | |
BB62 -> BB63: target block weight and all other incoming edge weights known, so weight is 0 | |
BB62: 1 incoming unknown, 0 outgoing unknown | |
BB62: all outgoing edge weights known, summming... | |
BB62 -> BB63 has weight 0 | |
BB62 -> BB80 has weight 0 | |
BB62: all outgoing edge weights known, sum is 0 | |
BB28 -> BB62: target block weight and all other incoming edge weights known, so weight is 0 | |
BB28: 1 incoming unknown, 0 outgoing unknown | |
BB28: all outgoing edge weights known, summming... | |
BB28 -> BB62 has weight 0 | |
BB28 -> BB30 has weight 18 | |
BB28 -> BB37 has weight 0 | |
BB28 -> BB41 has weight 0 | |
BB28 -> BB46 has weight 0 | |
BB28 -> BB40 has weight 0 | |
BB28 -> BB42 has weight 0 | |
BB28 -> BB47 has weight 0 | |
BB28 -> BB36 has weight 13 | |
BB28 -> BB48 has weight 0 | |
BB28 -> BB43 has weight 0 | |
BB28 -> BB49 has weight 0 | |
BB28 -> BB44 has weight 0 | |
BB28 -> BB45 has weight 0 | |
BB28 -> BB50 has weight 0 | |
BB28 -> BB51 has weight 0 | |
BB28 -> BB35 has weight 0 | |
BB28 -> BB29 has weight 0 | |
BB28: all outgoing edge weights known, sum is 31 | |
BB25 -> BB28: target block weight and all other incoming edge weights known, so weight is 31 | |
BB25: 1 incoming unknown, 0 outgoing unknown | |
BB25: all outgoing edge weights known, summming... | |
BB25 -> BB28 has weight 31 | |
BB25 -> BB26 has weight 0 | |
BB25: all outgoing edge weights known, sum is 31 | |
BB05 -> BB25: target block weight and all other incoming edge weights known, so weight is 31 | |
BB16: 1 incoming unknown, 0 outgoing unknown | |
BB16: all outgoing edge weights known, summming... | |
BB16 -> BB17 has weight 0 | |
BB16 -> BB11 has weight 0 | |
BB16: all outgoing edge weights known, sum is 0 | |
BB10 -> BB16: target block weight and all other incoming edge weights known, so weight is 0 | |
BB10: 1 incoming unknown, 0 outgoing unknown | |
BB10: all outgoing edge weights known, summming... | |
BB10 -> BB16 has weight 0 | |
BB10: all outgoing edge weights known, sum is 0 | |
BB09 -> BB10: target block weight and all other incoming edge weights known, so weight is 0 | |
BB09: 1 incoming unknown, 0 outgoing unknown | |
BB09: all outgoing edge weights known, summming... | |
BB09 -> BB10 has weight 0 | |
BB09: all outgoing edge weights known, sum is 0 | |
BB08 -> BB09: target block weight and all other incoming edge weights known, so weight is 0 | |
BB08: 1 incoming unknown, 0 outgoing unknown | |
BB08: all outgoing edge weights known, summming... | |
BB08 -> BB09 has weight 0 | |
BB08: all outgoing edge weights known, sum is 0 | |
BB07 -> BB08: target block weight and all other incoming edge weights known, so weight is 0 | |
BB07: 1 incoming unknown, 0 outgoing unknown | |
BB07: all outgoing edge weights known, summming... | |
BB07 -> BB25 has weight 0 | |
BB07 -> BB08 has weight 0 | |
BB07: all outgoing edge weights known, sum is 0 | |
BB06 -> BB07: target block weight and all other incoming edge weights known, so weight is 0 | |
BB06: 1 incoming unknown, 0 outgoing unknown | |
BB06: all outgoing edge weights known, summming... | |
BB06 -> BB25 has weight 0 | |
BB06 -> BB07 has weight 0 | |
BB06: all outgoing edge weights known, sum is 0 | |
BB05 -> BB06: target block weight and all other incoming edge weights known, so weight is 0 | |
BB05: 1 incoming unknown, 0 outgoing unknown | |
BB05: all outgoing edge weights known, summming... | |
BB05 -> BB25 has weight 31 | |
BB05 -> BB06 has weight 0 | |
BB05: all outgoing edge weights known, sum is 31 | |
BB03 -> BB05: target block weight and all other incoming edge weights known, so weight is 31 | |
BB03: 0 incoming unknown, 0 outgoing unknown | |
BB03: all incoming edge weights known, summming... | |
BB01 -> BB03 has weight 31 | |
BB03: all incoming edge weights known, sum is 31 | |
Solver: converged in 2 passes | |
Suppressing zero count for BB13 as it is a handler entry | |
Suppressing zero count for BB18 as it is a handler entry | |
Suppressing zero count for BB22 as it is a handler entry | |
Switch in BB28 was hit 31 >= 30 times, checking for dominant edge | |
Non-default case 0 uniquely leads to target BB30 of dominant edge with likelihood 0.5806451; marking for peeling | |
Suppressing zero count for BB33 as it is a handler entry | |
Suppressing zero count for BB68 as it is a handler entry | |
Suppressing zero count for BB73 as it is a handler entry | |
Suppressing zero count for BB77 as it is a handler entry | |
*************** Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 43 43 [000..00A)-> BB03 ( cond ) IBC | |
BB02 [0001] 1 12 12 [00A..017) (return) IBC | |
BB03 [0002] 1 31 31 [017..01A)-> BB05 ( cond ) IBC | |
BB04 [0003] 1 0 0 [01A..026) (return) rare IBC | |
BB05 [0004] 1 31 31 [026..039)-> BB25 ( cond ) IBC | |
BB06 [0005] 1 0 0 [039..041)-> BB25 ( cond ) rare IBC | |
BB07 [0006] 1 0 0 [041..049)-> BB25 ( cond ) rare IBC | |
BB08 [0007] 1 0 0 [049..04F) rare IBC | |
BB09 [0008] 1 2 0 0 [04F..05C) T2 try { keep try rare IBC | |
BB10 [0009] 1 1 0 0 [05C..05E)-> BB16 (always) T1 try { keep try rare IBC | |
BB11 [0010] 1 1 0 0 [05E..070) T1 rare bwd bwd-target IBC | |
BB12 [0011] 1 0 0 0 [070..07A)-> BB16 (leave ) T0 try { } keep try rare bwd IBC | |
BB13 [0012] 1 1 0 1 [07A..07E)-> BB15 ( cond ) T1 H0 finally { keep bwd | |
BB14 [0013] 1 1 0 0 0 [07E..085) T1 H0 rare bwd IBC | |
BB15 [0014] 2 1 0 0 0 [085..086) (finret) T1 H0 } rare bwd IBC | |
BB16 [0015] 2 1 0 0 [086..08F)-> BB11 ( cond ) T1 rare bwd IBC | |
BB17 [0016] 1 1 0 0 [08F..091)-> BB21 (leave ) T1 } rare IBC | |
BB18 [0017] 1 2 1 1 [091..09E)-> BB20 ( cond ) T2 H1 finally { keep | |
BB19 [0018] 1 2 1 0 0 [09E..0A5) T2 H1 rare IBC | |
BB20 [0019] 2 2 1 0 0 [0A5..0A6) (finret) T2 H1 } rare IBC | |
BB21 [0020] 1 2 0 0 [0A6..0B3)-> BB81 (leave ) T2 } rare IBC | |
BB22 [0021] 1 2 1 [0B3..0B6)-> BB24 ( cond ) H2 finally { keep | |
BB23 [0022] 1 2 0 0 [0B6..0BC) H2 rare IBC | |
BB24 [0023] 2 2 0 0 [0BC..0BD) (finret) H2 } rare IBC | |
BB25 [0024] 3 31 31 [0BD..0C7)-> BB28 ( cond ) IBC | |
BB26 [0025] 1 0 0 [0C7..0D4)-> BB28 ( cond ) rare IBC | |
BB27 [0026] 1 0 0 [0D4..0DB) (return) rare IBC | |
BB28 [0027] 2 31 31 [0DB..132)-> BB30[dom(0.5806451)],BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB62,BB35,BB29[def] (switch) IBC | |
BB29 [0028] 1 0 0 [132..137)-> BB62 (always) rare IBC | |
BB30 [0029] 1 18 18 [137..13F)-> BB34 ( cond ) IBC | |
BB31 [0030] 1 0 0 [13F..150) rare IBC | |
BB32 [0031] 1 3 0 0 [150..195)-> BB81 (leave ) T3 try { } keep try rare IBC | |
BB33 [0032] 1 3 1 [195..19D) (finret) H3 finally { } keep | |
BB34 [0033] 1 18 18 [19D..1A5) (return) IBC | |
BB35 [0034] 1 0 0 [1A5..1B1) (return) rare IBC | |
BB36 [0035] 1 13 13 [1B1..1BD) (return) IBC | |
BB37 [0036] 1 0 0 [1BD..1C5)-> BB39 ( cond ) rare IBC | |
BB38 [0037] 1 0 0 [1C5..1D1) (return) rare IBC | |
BB39 [0038] 1 0 0 [1D1..1DD) (return) rare IBC | |
BB40 [0039] 1 0 0 [1DD..1E9) (return) rare IBC | |
BB41 [0040] 1 0 0 [1E9..1F5) (return) rare IBC | |
BB42 [0041] 1 0 0 [1F5..201) (return) rare IBC | |
BB43 [0042] 1 0 0 [201..20D) (return) rare IBC | |
BB44 [0043] 1 0 0 [20D..21A) (return) rare IBC | |
BB45 [0044] 1 0 0 [21A..226) (return) rare IBC | |
BB46 [0045] 1 0 0 [226..232) (return) rare IBC | |
BB47 [0046] 1 0 0 [232..23E) (return) rare IBC | |
BB48 [0047] 1 0 0 [23E..24B) (return) rare IBC | |
BB49 [0048] 1 0 0 [24B..257) (return) rare IBC | |
BB50 [0049] 1 0 0 [257..268) (return) rare IBC | |
BB51 [0050] 1 0 0 [268..279)-> BB53 ( cond ) rare IBC | |
BB52 [0051] 1 0 0 [279..27C)-> BB54 (always) rare IBC | |
BB53 [0052] 1 0 0 [27C..27D) rare IBC | |
BB54 [0053] 2 0 0 [27D..288)-> BB56 ( cond ) rare IBC | |
BB55 [0054] 1 0 0 [288..28F)-> BB57 (always) rare IBC | |
BB56 [0055] 1 0 0 [28F..294) rare IBC | |
BB57 [0056] 2 0 0 [294..3A4)-> BB59 ( cond ) rare IBC | |
BB58 [0057] 1 0 0 [3A4..3AB) rare IBC | |
BB59 [0058] 2 0 0 [3AB..3CF)-> BB61 ( cond ) rare IBC | |
BB60 [0059] 1 0 0 [3CF..3F3) rare IBC | |
BB61 [0060] 2 0 0 [3F3..40E) (return) rare IBC | |
BB62 [0061] 3 0 0 [40E..416)-> BB80 ( cond ) rare IBC | |
BB63 [0062] 1 0 0 [416..41D) rare IBC | |
BB64 [0063] 1 6 0 0 [41D..42A) T6 try { keep try rare IBC | |
BB65 [0064] 1 5 0 0 [42A..42C)-> BB71 (always) T5 try { keep try rare IBC | |
BB66 [0065] 1 5 0 0 [42C..43E) T5 rare bwd bwd-target IBC | |
BB67 [0066] 1 4 0 0 [43E..449)-> BB71 (leave ) T4 try { } keep try rare bwd IBC | |
BB68 [0067] 1 5 4 1 [449..44D)-> BB70 ( cond ) T5 H4 finally { keep bwd | |
BB69 [0068] 1 5 4 0 0 [44D..454) T5 H4 rare bwd IBC | |
BB70 [0069] 2 5 4 0 0 [454..455) (finret) T5 H4 } rare bwd IBC | |
BB71 [0070] 2 5 0 0 [455..45E)-> BB66 ( cond ) T5 rare bwd IBC | |
BB72 [0071] 1 5 0 0 [45E..460)-> BB76 (leave ) T5 } rare IBC | |
BB73 [0072] 1 6 5 1 [460..46D)-> BB75 ( cond ) T6 H5 finally { keep | |
BB74 [0073] 1 6 5 0 0 [46D..474) T6 H5 rare IBC | |
BB75 [0074] 2 6 5 0 0 [474..475) (finret) T6 H5 } rare IBC | |
BB76 [0075] 1 6 0 0 [475..480)-> BB81 (leave ) T6 } rare IBC | |
BB77 [0076] 1 6 1 [480..484)-> BB79 ( cond ) H6 finally { keep | |
BB78 [0077] 1 6 0 0 [484..48B) H6 rare IBC | |
BB79 [0078] 2 6 0 0 [48B..48C) (finret) H6 } rare IBC | |
BB80 [0079] 1 0 0 [48C..494) (return) rare IBC | |
BB81 [0080] 3 0 0 [494..497) (return) rare IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..00A) -> BB03 (cond), preds={} succs={BB02,BB03} | |
------------ BB02 [00A..017) (return), preds={} succs={} | |
------------ BB03 [017..01A) -> BB05 (cond), preds={} succs={BB04,BB05} | |
------------ BB04 [01A..026) (return), preds={} succs={} | |
------------ BB05 [026..039) -> BB25 (cond), preds={} succs={BB06,BB25} | |
------------ BB06 [039..041) -> BB25 (cond), preds={} succs={BB07,BB25} | |
------------ BB07 [041..049) -> BB25 (cond), preds={} succs={BB08,BB25} | |
------------ BB08 [049..04F), preds={} succs={BB09} | |
------------ BB09 [04F..05C), preds={} succs={BB10} | |
------------ BB10 [05C..05E) -> BB16 (always), preds={} succs={BB16} | |
------------ BB11 [05E..070), preds={} succs={BB12} | |
------------ BB12 [070..07A) -> BB16 (leave), preds={} succs={BB16} | |
------------ BB13 [07A..07E) -> BB15 (cond), preds={} succs={BB14,BB15} | |
------------ BB14 [07E..085), preds={} succs={BB15} | |
------------ BB15 [085..086) (finret), preds={} succs={} | |
------------ BB16 [086..08F) -> BB11 (cond), preds={} succs={BB17,BB11} | |
------------ BB17 [08F..091) -> BB21 (leave), preds={} succs={BB21} | |
------------ BB18 [091..09E) -> BB20 (cond), preds={} succs={BB19,BB20} | |
------------ BB19 [09E..0A5), preds={} succs={BB20} | |
------------ BB20 [0A5..0A6) (finret), preds={} succs={} | |
------------ BB21 [0A6..0B3) -> BB81 (leave), preds={} succs={BB81} | |
------------ BB22 [0B3..0B6) -> BB24 (cond), preds={} succs={BB23,BB24} | |
------------ BB23 [0B6..0BC), preds={} succs={BB24} | |
------------ BB24 [0BC..0BD) (finret), preds={} succs={} | |
------------ BB25 [0BD..0C7) -> BB28 (cond), preds={} succs={BB26,BB28} | |
------------ BB26 [0C7..0D4) -> BB28 (cond), preds={} succs={BB27,BB28} | |
------------ BB27 [0D4..0DB) (return), preds={} succs={} | |
------------ BB28 [0DB..132) -> BB30[dom(0.5806451)],BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB62,BB35,BB29[def] (switch), preds={} succs={BB30,BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB35,BB29} | |
------------ BB29 [132..137) -> BB62 (always), preds={} succs={BB62} | |
------------ BB30 [137..13F) -> BB34 (cond), preds={} succs={BB31,BB34} | |
------------ BB31 [13F..150), preds={} succs={BB32} | |
------------ BB32 [150..195) -> BB81 (leave), preds={} succs={BB81} | |
------------ BB33 [195..19D) (finret), preds={} succs={} | |
------------ BB34 [19D..1A5) (return), preds={} succs={} | |
------------ BB35 [1A5..1B1) (return), preds={} succs={} | |
------------ BB36 [1B1..1BD) (return), preds={} succs={} | |
------------ BB37 [1BD..1C5) -> BB39 (cond), preds={} succs={BB38,BB39} | |
------------ BB38 [1C5..1D1) (return), preds={} succs={} | |
------------ BB39 [1D1..1DD) (return), preds={} succs={} | |
------------ BB40 [1DD..1E9) (return), preds={} succs={} | |
------------ BB41 [1E9..1F5) (return), preds={} succs={} | |
------------ BB42 [1F5..201) (return), preds={} succs={} | |
------------ BB43 [201..20D) (return), preds={} succs={} | |
------------ BB44 [20D..21A) (return), preds={} succs={} | |
------------ BB45 [21A..226) (return), preds={} succs={} | |
------------ BB46 [226..232) (return), preds={} succs={} | |
------------ BB47 [232..23E) (return), preds={} succs={} | |
------------ BB48 [23E..24B) (return), preds={} succs={} | |
------------ BB49 [24B..257) (return), preds={} succs={} | |
------------ BB50 [257..268) (return), preds={} succs={} | |
------------ BB51 [268..279) -> BB53 (cond), preds={} succs={BB52,BB53} | |
------------ BB52 [279..27C) -> BB54 (always), preds={} succs={BB54} | |
------------ BB53 [27C..27D), preds={} succs={BB54} | |
------------ BB54 [27D..288) -> BB56 (cond), preds={} succs={BB55,BB56} | |
------------ BB55 [288..28F) -> BB57 (always), preds={} succs={BB57} | |
------------ BB56 [28F..294), preds={} succs={BB57} | |
------------ BB57 [294..3A4) -> BB59 (cond), preds={} succs={BB58,BB59} | |
------------ BB58 [3A4..3AB), preds={} succs={BB59} | |
------------ BB59 [3AB..3CF) -> BB61 (cond), preds={} succs={BB60,BB61} | |
------------ BB60 [3CF..3F3), preds={} succs={BB61} | |
------------ BB61 [3F3..40E) (return), preds={} succs={} | |
------------ BB62 [40E..416) -> BB80 (cond), preds={} succs={BB63,BB80} | |
------------ BB63 [416..41D), preds={} succs={BB64} | |
------------ BB64 [41D..42A), preds={} succs={BB65} | |
------------ BB65 [42A..42C) -> BB71 (always), preds={} succs={BB71} | |
------------ BB66 [42C..43E), preds={} succs={BB67} | |
------------ BB67 [43E..449) -> BB71 (leave), preds={} succs={BB71} | |
------------ BB68 [449..44D) -> BB70 (cond), preds={} succs={BB69,BB70} | |
------------ BB69 [44D..454), preds={} succs={BB70} | |
------------ BB70 [454..455) (finret), preds={} succs={} | |
------------ BB71 [455..45E) -> BB66 (cond), preds={} succs={BB72,BB66} | |
------------ BB72 [45E..460) -> BB76 (leave), preds={} succs={BB76} | |
------------ BB73 [460..46D) -> BB75 (cond), preds={} succs={BB74,BB75} | |
------------ BB74 [46D..474), preds={} succs={BB75} | |
------------ BB75 [474..475) (finret), preds={} succs={} | |
------------ BB76 [475..480) -> BB81 (leave), preds={} succs={BB81} | |
------------ BB77 [480..484) -> BB79 (cond), preds={} succs={BB78,BB79} | |
------------ BB78 [484..48B), preds={} succs={BB79} | |
------------ BB79 [48B..48C) (finret), preds={} succs={} | |
------------ BB80 [48C..494) (return), preds={} succs={} | |
------------ BB81 [494..497) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Starting PHASE Importation | |
*************** In impImport() for Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference | |
impImportBlockPending for BB01 | |
Importing BB01 (PC=000) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 0 (0x000) ldarg.0 | |
[ 1] 1 (0x001) isinst 02000052 | |
Considering optimization of isinst from 00007FF8FCE25908 (System.Object) to 00007FF9001C7A70 (Python.Runtime.PyObject) | |
Can't optimize since fromClass is inexact | |
Expanding isinst as call because inline expansion not legal | |
[ 1] 6 (0x006) stloc.0 | |
STMT00000 (IL 0x000... ???) | |
[000004] -AC-G------- * ASG ref | |
[000003] D------N---- +--* LCL_VAR ref V02 loc0 | |
[000002] --C-G------- \--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFCLASS | |
[000001] H------N---- arg0 +--* CNS_INT(h) long 0x7ff9001c7a70 class | |
[000000] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
[ 0] 7 (0x007) ldloc.0 | |
[ 1] 8 (0x008) brfalse.s | |
STMT00001 (IL 0x007... ???) | |
[000008] ------------ * JTRUE void | |
[000007] ------------ \--* EQ int | |
[000005] ------------ +--* LCL_VAR ref V02 loc0 | |
[000006] ------------ \--* CNS_INT ref null | |
impImportBlockPending for BB02 | |
impImportBlockPending for BB03 | |
Importing BB03 (PC=023) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 23 (0x017) ldarg.0 | |
[ 1] 24 (0x018) brtrue.s | |
STMT00002 (IL 0x017... ???) | |
[000012] ------------ * JTRUE void | |
[000011] ------------ \--* NE int | |
[000009] ------------ +--* LCL_VAR ref V00 arg0 | |
[000010] ------------ \--* CNS_INT ref null | |
impImportBlockPending for BB04 | |
impImportBlockPending for BB05 | |
Importing BB05 (PC=038) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 38 (0x026) ldarg.0 | |
[ 1] 39 (0x027) callvirt 0A0000F9 | |
In Compiler::impImportCall: opcode is callvirt, kind=0, callRetType is ref, structSize is 0 | |
impIntrinsic: call to Object.GetType | |
Expanding as special intrinsic | |
[ 1] 44 (0x02c) starg.s 1 | |
STMT00003 (IL 0x026... ???) | |
[000016] -ACX-------- * ASG ref | |
[000015] D------N---- +--* LCL_VAR ref V01 arg1 | |
[000014] --CX-------- \--* INTRINSIC ref objGetType | |
[000013] ------------ \--* LCL_VAR ref V00 arg0 | |
[ 0] 46 (0x02e) ldarg.1 | |
[ 1] 47 (0x02f) callvirt 0A0000FA | |
In Compiler::impImportCall: opcode is callvirt, kind=4, callRetType is bool, structSize is 0 | |
impDevirtualizeCall: Trying to devirtualize virtual call: | |
class for 'this' is System.Type (attrib 20000400) | |
base method is System.Type::get_IsGenericType | |
devirt to System.Type::get_IsGenericType -- inexact or not final | |
[000018] --C-G------- * CALLV vt-ind int System.Type.get_IsGenericType | |
[000017] ------------ this in rcx \--* LCL_VAR ref V01 arg1 | |
Class not final or exact, and method not final | |
Considering guarded devirtualization at IL offset 47 (0x2f) | |
Likely class for 00007FF8FCE2C078 (System.Type) is 00007FF8FCE2F700 (System.RuntimeType) [likelihood:100 classes seen:1] | |
virtual call would invoke method get_IsGenericType | |
Marking call [000018] as guarded devirtualization candidate; will guess for class System.RuntimeType | |
STMT00004 (IL 0x02E... ???) | |
[000018] &-C-G------- * CALLV vt-ind int System.Type.get_IsGenericType (exactContextHnd=0x00007FF8FCE2C079) | |
[000017] ------------ this in rcx \--* LCL_VAR ref V01 arg1 | |
[ 1] 52 (0x034) brfalse | |
STMT00005 (IL ???... ???) | |
[000022] --C--------- * JTRUE void | |
[000021] --C--------- \--* EQ int | |
[000019] --C--------- +--* RET_EXPR int (inl return expr [000018]) | |
[000020] ------------ \--* CNS_INT int 0 | |
impImportBlockPending for BB06 | |
impImportBlockPending for BB25 | |
Importing BB25 (PC=189) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 189 (0x0bd) ldarg.0 | |
[ 1] 190 (0x0be) isinst 0200006B | |
Considering optimization of isinst from 00007FF8FCE25908 (System.Object) to 00007FF9014E0530 (Python.Runtime.IPythonDerivedType) | |
Can't optimize since fromClass is inexact | |
Expanding isinst as call because inline expansion not legal | |
[ 1] 195 (0x0c3) stloc.1 | |
lvaUpdateClass: NOT Updating class for V03 from (00007FF9014E0530) Python.Runtime.IPythonDerivedType to (00007FF8FCE25908) System.Object | |
STMT00006 (IL 0x0BD... ???) | |
[000027] -AC-G------- * ASG ref | |
[000026] D------N---- +--* LCL_VAR ref V03 loc1 | |
[000025] --C-G------- \--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFINTERFACE | |
[000024] H------N---- arg0 +--* CNS_INT(h) long 0x7ff9014e0530 class | |
[000023] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
[ 0] 196 (0x0c4) ldloc.1 | |
[ 1] 197 (0x0c5) brfalse.s | |
STMT00007 (IL 0x0C4... ???) | |
[000031] ------------ * JTRUE void | |
[000030] ------------ \--* EQ int | |
[000028] ------------ +--* LCL_VAR ref V03 loc1 | |
[000029] ------------ \--* CNS_INT ref null | |
impImportBlockPending for BB26 | |
impImportBlockPending for BB28 | |
Importing BB28 (PC=219) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 219 (0x0db) ldarg.1 | |
[ 1] 220 (0x0dc) call 0A0000FC | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0 | |
STMT00008 (IL 0x0DB... ???) | |
[000033] I-C-G------- * CALL int System.Type.GetTypeCode (exactContextHnd=0x00007FF8FCE2C079) | |
[000032] ------------ arg0 \--* LCL_VAR ref V01 arg1 | |
[ 1] 225 (0x0e1) stloc.2 | |
STMT00009 (IL ???... ???) | |
[000036] -AC--------- * ASG int | |
[000035] D------N---- +--* LCL_VAR int V04 loc2 | |
[000034] --C--------- \--* RET_EXPR int (inl return expr [000033]) | |
[ 0] 226 (0x0e2) ldloc.2 | |
[ 1] 227 (0x0e3) ldc.i4.1 1 | |
[ 2] 228 (0x0e4) sub | |
[ 1] 229 (0x0e5) switch | |
STMT00010 (IL 0x0E2... ???) | |
[000040] ------------ * SWITCH void | |
[000039] ------------ \--* SUB int | |
[000037] ------------ +--* LCL_VAR int V04 loc2 | |
[000038] ------------ \--* CNS_INT int 1 | |
impImportBlockPending for BB30 | |
impImportBlockPending for BB62 | |
impImportBlockPending for BB37 | |
impImportBlockPending for BB41 | |
impImportBlockPending for BB46 | |
impImportBlockPending for BB40 | |
impImportBlockPending for BB42 | |
impImportBlockPending for BB47 | |
impImportBlockPending for BB36 | |
impImportBlockPending for BB48 | |
impImportBlockPending for BB43 | |
impImportBlockPending for BB49 | |
impImportBlockPending for BB44 | |
impImportBlockPending for BB45 | |
impImportBlockPending for BB50 | |
impImportBlockPending for BB51 | |
impImportBlockPending for BB62 | |
impImportBlockPending for BB35 | |
impImportBlockPending for BB29 | |
Importing BB29 (PC=306) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 306 (0x132) br | |
impImportBlockPending for BB62 | |
Importing BB35 (PC=421) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 421 (0x1a5) ldarg.0 | |
[ 1] 422 (0x1a6) castclass 010000BE | |
Considering optimization of castclass from 00007FF8FCE25908 (System.Object) to 00007FF8FCF8F7C8 (System.String) | |
Can't optimize since fromClass is inexact | |
Expanding castclass as call because inline expansion not legal | |
[ 1] 427 (0x1ab) call 06000881 | |
(Implicit Tail call: prefixFlags |= PREFIX_TAILCALL_IMPLICIT) | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
GTF_CALL_M_IMPLICIT_TAILCALL set for call [000044] | |
STMT00011 (IL 0x1A5... ???) | |
[000044] I-CXG------- * CALL struct Python.Runtime.Runtime.PyString_FromString (exactContextHnd=0x00007FF9001CEA41) | |
[000043] --CXG------- arg0 \--* CALL help ref HELPER.CORINFO_HELP_CHKCASTCLASS | |
[000042] H------N---- arg0 +--* CNS_INT(h) long 0x7ff8fcf8f7c8 class | |
[000041] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
[ 1] 432 (0x1b0) ret | |
impFixupStructReturnType: retyping | |
[000045] --C--------- * RET_EXPR struct(inl return expr [000044]) | |
STMT00012 (IL ???... ???) | |
[000046] --C--------- * RETURN struct | |
[000045] --C--------- \--* RET_EXPR struct(inl return expr [000044]) | |
Importing BB51 (PC=616) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 616 (0x268) ldarg.0 | |
[ 1] 617 (0x269) unbox.any 01000041 | |
Importing UNBOX.ANY as helper call because want smaller code or faster jitting | |
[ 1] 622 (0x26e) stloc.s 9 | |
STMT00013 (IL 0x268... ???) | |
[000053] -ACXG------- * ASG struct (copy) | |
[000051] D------N---- +--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
[000050] --CXG------- \--* OBJ struct<System.DateTime, 8> | |
[000049] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000048] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fd4cc3e8 class | |
[000047] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
[ 0] 624 (0x270) ldloca.s 9 | |
[ 1] 626 (0x272) call 0A0000FF | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0 | |
STMT00014 (IL 0x270... ???) | |
[000056] I-C-G------- * CALL int System.DateTime.get_Kind (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000055] ------------ this in rcx \--* ADDR byref | |
[000054] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
[ 1] 631 (0x277) brfalse.s | |
STMT00015 (IL ???... ???) | |
[000060] --C--------- * JTRUE void | |
[000059] --C--------- \--* EQ int | |
[000057] --C--------- +--* RET_EXPR int (inl return expr [000056]) | |
[000058] ------------ \--* CNS_INT int 0 | |
impImportBlockPending for BB52 | |
impImportBlockPending for BB53 | |
Importing BB53 (PC=636) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 636 (0x27c) ldc.i4.7 7 | |
*************** In impGetSpillTmpBase(BB53) | |
lvaGrabTemps(1) returning 27..27 (long lifetime temps) called for IL Stack Entries | |
*************** In fgComputeCheapPreds() | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 43 43 [000..00A)-> BB03 ( cond ) i IBC | |
BB02 [0001] 1 12 12 [00A..017) (return) IBC | |
BB03 [0002] 1 31 31 [017..01A)-> BB05 ( cond ) i IBC | |
BB04 [0003] 1 0 0 [01A..026) (return) rare IBC | |
BB05 [0004] 1 31 31 [026..039)-> BB25 ( cond ) i IBC | |
BB06 [0005] 1 0 0 [039..041)-> BB25 ( cond ) rare IBC | |
BB07 [0006] 1 0 0 [041..049)-> BB25 ( cond ) rare IBC | |
BB08 [0007] 1 0 0 [049..04F) rare IBC | |
BB09 [0008] 1 2 0 0 [04F..05C) T2 try { keep try rare IBC | |
BB10 [0009] 1 1 0 0 [05C..05E)-> BB16 (always) T1 try { keep try rare IBC | |
BB11 [0010] 1 1 0 0 [05E..070) T1 rare bwd bwd-target IBC | |
BB12 [0011] 1 0 0 0 [070..07A)-> BB16 (leave ) T0 try { } keep try rare bwd IBC | |
BB13 [0012] 1 1 0 1 [07A..07E)-> BB15 ( cond ) T1 H0 finally { keep bwd | |
BB14 [0013] 1 1 0 0 0 [07E..085) T1 H0 rare bwd IBC | |
BB15 [0014] 2 1 0 0 0 [085..086) (finret) T1 H0 } rare bwd IBC | |
BB16 [0015] 2 1 0 0 [086..08F)-> BB11 ( cond ) T1 rare bwd IBC | |
BB17 [0016] 1 1 0 0 [08F..091)-> BB21 (leave ) T1 } rare IBC | |
BB18 [0017] 1 2 1 1 [091..09E)-> BB20 ( cond ) T2 H1 finally { keep | |
BB19 [0018] 1 2 1 0 0 [09E..0A5) T2 H1 rare IBC | |
BB20 [0019] 2 2 1 0 0 [0A5..0A6) (finret) T2 H1 } rare IBC | |
BB21 [0020] 1 2 0 0 [0A6..0B3)-> BB81 (leave ) T2 } rare IBC | |
BB22 [0021] 1 2 1 [0B3..0B6)-> BB24 ( cond ) H2 finally { keep | |
BB23 [0022] 1 2 0 0 [0B6..0BC) H2 rare IBC | |
BB24 [0023] 2 2 0 0 [0BC..0BD) (finret) H2 } rare IBC | |
BB25 [0024] 3 31 31 [0BD..0C7)-> BB28 ( cond ) i IBC | |
BB26 [0025] 1 0 0 [0C7..0D4)-> BB28 ( cond ) rare IBC | |
BB27 [0026] 1 0 0 [0D4..0DB) (return) rare IBC | |
BB28 [0027] 2 31 31 [0DB..132)-> BB30[dom(0.5806451)],BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB62,BB35,BB29[def] (switch) i IBC | |
BB29 [0028] 1 0 0 [132..137)-> BB62 (always) i rare IBC | |
BB30 [0029] 1 18 18 [137..13F)-> BB34 ( cond ) IBC | |
BB31 [0030] 1 0 0 [13F..150) rare IBC | |
BB32 [0031] 1 3 0 0 [150..195)-> BB81 (leave ) T3 try { } keep try rare IBC | |
BB33 [0032] 1 3 1 [195..19D) (finret) H3 finally { } keep | |
BB34 [0033] 1 18 18 [19D..1A5) (return) IBC | |
BB35 [0034] 1 0 0 [1A5..1B1) (return) i rare IBC | |
BB36 [0035] 1 13 13 [1B1..1BD) (return) IBC | |
BB37 [0036] 1 0 0 [1BD..1C5)-> BB39 ( cond ) rare IBC | |
BB38 [0037] 1 0 0 [1C5..1D1) (return) rare IBC | |
BB39 [0038] 1 0 0 [1D1..1DD) (return) rare IBC | |
BB40 [0039] 1 0 0 [1DD..1E9) (return) rare IBC | |
BB41 [0040] 1 0 0 [1E9..1F5) (return) rare IBC | |
BB42 [0041] 1 0 0 [1F5..201) (return) rare IBC | |
BB43 [0042] 1 0 0 [201..20D) (return) rare IBC | |
BB44 [0043] 1 0 0 [20D..21A) (return) rare IBC | |
BB45 [0044] 1 0 0 [21A..226) (return) rare IBC | |
BB46 [0045] 1 0 0 [226..232) (return) rare IBC | |
BB47 [0046] 1 0 0 [232..23E) (return) rare IBC | |
BB48 [0047] 1 0 0 [23E..24B) (return) rare IBC | |
BB49 [0048] 1 0 0 [24B..257) (return) rare IBC | |
BB50 [0049] 1 0 0 [257..268) (return) rare IBC | |
BB51 [0050] 1 0 0 [268..279)-> BB53 ( cond ) i rare IBC | |
BB52 [0051] 1 0 0 [279..27C)-> BB54 (always) rare IBC | |
BB53 [0052] 1 0 0 [27C..27D) rare IBC | |
BB54 [0053] 2 0 0 [27D..288)-> BB56 ( cond ) rare IBC | |
BB55 [0054] 1 0 0 [288..28F)-> BB57 (always) rare IBC | |
BB56 [0055] 1 0 0 [28F..294) rare IBC | |
BB57 [0056] 2 0 0 [294..3A4)-> BB59 ( cond ) rare IBC | |
BB58 [0057] 1 0 0 [3A4..3AB) rare IBC | |
BB59 [0058] 2 0 0 [3AB..3CF)-> BB61 ( cond ) rare IBC | |
BB60 [0059] 1 0 0 [3CF..3F3) rare IBC | |
BB61 [0060] 2 0 0 [3F3..40E) (return) rare IBC | |
BB62 [0061] 3 0 0 [40E..416)-> BB80 ( cond ) rare IBC | |
BB63 [0062] 1 0 0 [416..41D) rare IBC | |
BB64 [0063] 1 6 0 0 [41D..42A) T6 try { keep try rare IBC | |
BB65 [0064] 1 5 0 0 [42A..42C)-> BB71 (always) T5 try { keep try rare IBC | |
BB66 [0065] 1 5 0 0 [42C..43E) T5 rare bwd bwd-target IBC | |
BB67 [0066] 1 4 0 0 [43E..449)-> BB71 (leave ) T4 try { } keep try rare bwd IBC | |
BB68 [0067] 1 5 4 1 [449..44D)-> BB70 ( cond ) T5 H4 finally { keep bwd | |
BB69 [0068] 1 5 4 0 0 [44D..454) T5 H4 rare bwd IBC | |
BB70 [0069] 2 5 4 0 0 [454..455) (finret) T5 H4 } rare bwd IBC | |
BB71 [0070] 2 5 0 0 [455..45E)-> BB66 ( cond ) T5 rare bwd IBC | |
BB72 [0071] 1 5 0 0 [45E..460)-> BB76 (leave ) T5 } rare IBC | |
BB73 [0072] 1 6 5 1 [460..46D)-> BB75 ( cond ) T6 H5 finally { keep | |
BB74 [0073] 1 6 5 0 0 [46D..474) T6 H5 rare IBC | |
BB75 [0074] 2 6 5 0 0 [474..475) (finret) T6 H5 } rare IBC | |
BB76 [0075] 1 6 0 0 [475..480)-> BB81 (leave ) T6 } rare IBC | |
BB77 [0076] 1 6 1 [480..484)-> BB79 ( cond ) H6 finally { keep | |
BB78 [0077] 1 6 0 0 [484..48B) H6 rare IBC | |
BB79 [0078] 2 6 0 0 [48B..48C) (finret) H6 } rare IBC | |
BB80 [0079] 1 0 0 [48C..494) (return) rare IBC | |
BB81 [0080] 3 0 0 [494..497) (return) rare IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** After fgComputeCheapPreds() | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd cheap preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 43 43 [000..00A)-> BB03 ( cond ) i IBC | |
BB02 [0001] 1 BB01 12 12 [00A..017) (return) IBC | |
BB03 [0002] 1 BB01 31 31 [017..01A)-> BB05 ( cond ) i IBC | |
BB04 [0003] 1 BB03 0 0 [01A..026) (return) rare IBC | |
BB05 [0004] 1 BB03 31 31 [026..039)-> BB25 ( cond ) i IBC | |
BB06 [0005] 1 BB05 0 0 [039..041)-> BB25 ( cond ) rare IBC | |
BB07 [0006] 1 BB06 0 0 [041..049)-> BB25 ( cond ) rare IBC | |
BB08 [0007] 1 BB07 0 0 [049..04F) rare IBC | |
BB09 [0008] 1 2 BB08 0 0 [04F..05C) T2 try { keep try rare IBC | |
BB10 [0009] 1 1 BB09 0 0 [05C..05E)-> BB16 (always) T1 try { keep try rare IBC | |
BB11 [0010] 1 1 BB16 0 0 [05E..070) T1 rare bwd bwd-target IBC | |
BB12 [0011] 1 0 BB11 0 0 [070..07A)-> BB16 (leave ) T0 try { } keep try rare bwd IBC | |
BB13 [0012] 1 1 0 1 [07A..07E)-> BB15 ( cond ) T1 H0 finally { keep bwd | |
BB14 [0013] 1 1 0 BB13 0 0 [07E..085) T1 H0 rare bwd IBC | |
BB15 [0014] 2 1 0 BB14,BB13 0 0 [085..086) (finret) T1 H0 } rare bwd IBC | |
BB16 [0015] 2 1 BB12,BB10 0 0 [086..08F)-> BB11 ( cond ) T1 rare bwd IBC | |
BB17 [0016] 1 1 BB16 0 0 [08F..091)-> BB21 (leave ) T1 } rare IBC | |
BB18 [0017] 1 2 1 1 [091..09E)-> BB20 ( cond ) T2 H1 finally { keep | |
BB19 [0018] 1 2 1 BB18 0 0 [09E..0A5) T2 H1 rare IBC | |
BB20 [0019] 2 2 1 BB19,BB18 0 0 [0A5..0A6) (finret) T2 H1 } rare IBC | |
BB21 [0020] 1 2 BB17 0 0 [0A6..0B3)-> BB81 (leave ) T2 } rare IBC | |
BB22 [0021] 1 2 1 [0B3..0B6)-> BB24 ( cond ) H2 finally { keep | |
BB23 [0022] 1 2 BB22 0 0 [0B6..0BC) H2 rare IBC | |
BB24 [0023] 2 2 BB23,BB22 0 0 [0BC..0BD) (finret) H2 } rare IBC | |
BB25 [0024] 3 BB07,BB06,BB05 31 31 [0BD..0C7)-> BB28 ( cond ) i IBC | |
BB26 [0025] 1 BB25 0 0 [0C7..0D4)-> BB28 ( cond ) rare IBC | |
BB27 [0026] 1 BB26 0 0 [0D4..0DB) (return) rare IBC | |
BB28 [0027] 2 BB26,BB25 31 31 [0DB..132)-> BB30[dom(0.5806451)],BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB62,BB35,BB29[def] (switch) i IBC | |
BB29 [0028] 1 BB28 0 0 [132..137)-> BB62 (always) i rare IBC | |
BB30 [0029] 1 BB28 18 18 [137..13F)-> BB34 ( cond ) IBC | |
BB31 [0030] 1 BB30 0 0 [13F..150) rare IBC | |
BB32 [0031] 1 3 BB31 0 0 [150..195)-> BB81 (leave ) T3 try { } keep try rare IBC | |
BB33 [0032] 1 3 1 [195..19D) (finret) H3 finally { } keep | |
BB34 [0033] 1 BB30 18 18 [19D..1A5) (return) IBC | |
BB35 [0034] 1 BB28 0 0 [1A5..1B1) (return) i rare IBC | |
BB36 [0035] 1 BB28 13 13 [1B1..1BD) (return) IBC | |
BB37 [0036] 1 BB28 0 0 [1BD..1C5)-> BB39 ( cond ) rare IBC | |
BB38 [0037] 1 BB37 0 0 [1C5..1D1) (return) rare IBC | |
BB39 [0038] 1 BB37 0 0 [1D1..1DD) (return) rare IBC | |
BB40 [0039] 1 BB28 0 0 [1DD..1E9) (return) rare IBC | |
BB41 [0040] 1 BB28 0 0 [1E9..1F5) (return) rare IBC | |
BB42 [0041] 1 BB28 0 0 [1F5..201) (return) rare IBC | |
BB43 [0042] 1 BB28 0 0 [201..20D) (return) rare IBC | |
BB44 [0043] 1 BB28 0 0 [20D..21A) (return) rare IBC | |
BB45 [0044] 1 BB28 0 0 [21A..226) (return) rare IBC | |
BB46 [0045] 1 BB28 0 0 [226..232) (return) rare IBC | |
BB47 [0046] 1 BB28 0 0 [232..23E) (return) rare IBC | |
BB48 [0047] 1 BB28 0 0 [23E..24B) (return) rare IBC | |
BB49 [0048] 1 BB28 0 0 [24B..257) (return) rare IBC | |
BB50 [0049] 1 BB28 0 0 [257..268) (return) rare IBC | |
BB51 [0050] 1 BB28 0 0 [268..279)-> BB53 ( cond ) i rare IBC | |
BB52 [0051] 1 BB51 0 0 [279..27C)-> BB54 (always) rare IBC | |
BB53 [0052] 1 BB51 0 0 [27C..27D) rare IBC | |
BB54 [0053] 2 BB53,BB52 0 0 [27D..288)-> BB56 ( cond ) rare IBC | |
BB55 [0054] 1 BB54 0 0 [288..28F)-> BB57 (always) rare IBC | |
BB56 [0055] 1 BB54 0 0 [28F..294) rare IBC | |
BB57 [0056] 2 BB56,BB55 0 0 [294..3A4)-> BB59 ( cond ) rare IBC | |
BB58 [0057] 1 BB57 0 0 [3A4..3AB) rare IBC | |
BB59 [0058] 2 BB58,BB57 0 0 [3AB..3CF)-> BB61 ( cond ) rare IBC | |
BB60 [0059] 1 BB59 0 0 [3CF..3F3) rare IBC | |
BB61 [0060] 2 BB60,BB59 0 0 [3F3..40E) (return) rare IBC | |
BB62 [0061] 3 BB29,BB28,BB28 0 0 [40E..416)-> BB80 ( cond ) rare IBC | |
BB63 [0062] 1 BB62 0 0 [416..41D) rare IBC | |
BB64 [0063] 1 6 BB63 0 0 [41D..42A) T6 try { keep try rare IBC | |
BB65 [0064] 1 5 BB64 0 0 [42A..42C)-> BB71 (always) T5 try { keep try rare IBC | |
BB66 [0065] 1 5 BB71 0 0 [42C..43E) T5 rare bwd bwd-target IBC | |
BB67 [0066] 1 4 BB66 0 0 [43E..449)-> BB71 (leave ) T4 try { } keep try rare bwd IBC | |
BB68 [0067] 1 5 4 1 [449..44D)-> BB70 ( cond ) T5 H4 finally { keep bwd | |
BB69 [0068] 1 5 4 BB68 0 0 [44D..454) T5 H4 rare bwd IBC | |
BB70 [0069] 2 5 4 BB69,BB68 0 0 [454..455) (finret) T5 H4 } rare bwd IBC | |
BB71 [0070] 2 5 BB67,BB65 0 0 [455..45E)-> BB66 ( cond ) T5 rare bwd IBC | |
BB72 [0071] 1 5 BB71 0 0 [45E..460)-> BB76 (leave ) T5 } rare IBC | |
BB73 [0072] 1 6 5 1 [460..46D)-> BB75 ( cond ) T6 H5 finally { keep | |
BB74 [0073] 1 6 5 BB73 0 0 [46D..474) T6 H5 rare IBC | |
BB75 [0074] 2 6 5 BB74,BB73 0 0 [474..475) (finret) T6 H5 } rare IBC | |
BB76 [0075] 1 6 BB72 0 0 [475..480)-> BB81 (leave ) T6 } rare IBC | |
BB77 [0076] 1 6 1 [480..484)-> BB79 ( cond ) H6 finally { keep | |
BB78 [0077] 1 6 BB77 0 0 [484..48B) H6 rare IBC | |
BB79 [0078] 2 6 BB78,BB77 0 0 [48B..48C) (finret) H6 } rare IBC | |
BB80 [0079] 1 BB62 0 0 [48C..494) (return) rare IBC | |
BB81 [0080] 3 BB76,BB32,BB21 0 0 [494..497) (return) rare IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
Spilling stack entries into temps | |
STMT00016 (IL 0x27C... ???) | |
[000063] -A---------- * ASG int | |
[000062] D------N---- +--* LCL_VAR int V27 tmp1 | |
[000061] ------------ \--* CNS_INT int 7 | |
impImportBlockPending for BB54 | |
Importing BB54 (PC=637) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 1] 637 (0x27d) stloc.s 10 | |
STMT00017 (IL ???... ???) | |
[000067] -A---------- * ASG int | |
[000066] D------N---- +--* LCL_VAR int V12 loc10 | |
[000065] ------------ \--* LCL_VAR int V27 tmp1 | |
[ 0] 639 (0x27f) ldloca.s 9 | |
[ 1] 641 (0x281) call 0A0000FF | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0 | |
STMT00018 (IL 0x27F... ???) | |
[000070] I-C-G------- * CALL int System.DateTime.get_Kind (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000069] ------------ this in rcx \--* ADDR byref | |
[000068] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
[ 1] 646 (0x286) brfalse.s | |
STMT00019 (IL ???... ???) | |
[000074] --C--------- * JTRUE void | |
[000073] --C--------- \--* EQ int | |
[000071] --C--------- +--* RET_EXPR int (inl return expr [000070]) | |
[000072] ------------ \--* CNS_INT int 0 | |
impImportBlockPending for BB55 | |
impImportBlockPending for BB56 | |
Importing BB56 (PC=655) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 655 (0x28f) ldsfld 04000022 | |
*************** In impGetSpillTmpBase(BB56) | |
lvaGrabTemps(1) returning 28..28 (long lifetime temps) called for IL Stack Entries | |
Spilling stack entries into temps | |
STMT00020 (IL 0x28F... ???) | |
[000077] -A--G------- * ASG ref | |
[000076] D------N---- +--* LCL_VAR ref V28 tmp2 | |
[000075] ----G------- \--* FIELD ref pyTupleNoKind | |
impImportBlockPending for BB57 | |
Importing BB57 (PC=660) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 1] 660 (0x294) stloc.s 11 | |
STMT00021 (IL ???... ???) | |
[000081] -A---------- * ASG ref | |
[000080] D------N---- +--* LCL_VAR ref V13 loc11 | |
[000079] ------------ \--* LCL_VAR ref V28 tmp2 | |
[ 0] 662 (0x296) ldloc.s 11 | |
[ 1] 664 (0x298) call 060000EB | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00022 (IL 0x296... ???) | |
[000083] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000082] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
[ 1] 669 (0x29d) ldc.i4.0 0 | |
[ 2] 670 (0x29e) conv.i | |
Folding long operator with constant nodes into a constant: | |
[000086] ------------ * CAST long <- int | |
[000085] ------------ \--* CNS_INT int 0 | |
Bashed to long constant: | |
[000086] ------------ * CNS_INT long 0 | |
[ 2] 671 (0x29f) ldloca.s 9 | |
[ 3] 673 (0x2a1) call 0A000100 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0 | |
lvaGrabTemp returning 29 (V29 tmp3) called for impAppendStmt. | |
STMT00024 (IL ???... ???) | |
[000092] -AC--------- * ASG struct (copy) | |
[000090] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V29 tmp3 | |
[000084] --C--------- \--* RET_EXPR struct(inl return expr [000083]) | |
STMT00023 (IL ???... ???) | |
[000089] I-C-G------- * CALL int System.DateTime.get_Year (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000088] ------------ this in rcx \--* ADDR byref | |
[000087] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
[ 3] 678 (0x2a6) call 06000847 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00025 (IL ???... ???) | |
[000095] I-C-G------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000094] --C--------- arg0 \--* RET_EXPR int (inl return expr [000089]) | |
[ 3] 683 (0x2ab) stloc.s 18 | |
STMT00026 (IL ???... ???) | |
[000099] -AC--------- * ASG struct (copy) | |
[000097] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000096] --C--------- \--* RET_EXPR struct(inl return expr [000095]) | |
[ 2] 685 (0x2ad) ldloca.s 18 | |
[ 3] 687 (0x2af) call 0600010C | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00027 (IL ???... ???) | |
[000102] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000101] ------------ this in rcx \--* ADDR byref | |
[000100] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[ 3] 692 (0x2b4) call 060008B6 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0 | |
Calling impNormStructVal on: | |
[000103] --C--------- * RET_EXPR struct(inl return expr [000102]) | |
lvaGrabTemp returning 30 (V30 tmp4) called for struct address for call/obj. | |
STMT00028 (IL ???... ???) | |
[000107] -AC--------- * ASG struct (copy) | |
[000105] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V30 tmp4 | |
[000103] --C--------- \--* RET_EXPR struct(inl return expr [000102]) | |
resulting tree: | |
[000110] n----------- * OBJ struct<Python.Runtime.StolenReference, 8> | |
[000109] ------------ \--* ADDR byref | |
[000108] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V30 tmp4 | |
Calling impNormStructVal on: | |
[000093] ------------ * LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V29 tmp3 | |
resulting tree: | |
[000112] n----------- * OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000111] ------------ \--* ADDR byref | |
[000093] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V29 tmp3 | |
STMT00029 (IL ???... ???) | |
[000104] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000112] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000111] ------------ | \--* ADDR byref | |
[000093] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V29 tmp3 | |
[000086] ------------ arg1 +--* CNS_INT long 0 | |
[000110] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000109] ------------ \--* ADDR byref | |
[000108] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V30 tmp4 | |
[ 1] 697 (0x2b9) pop | |
STMT00030 (IL ???... ???) | |
[000115] --C--------- * COMMA void | |
[000113] --C--------- +--* RET_EXPR int (inl return expr [000104]) | |
[000114] ------------ \--* NOP void | |
[ 0] 698 (0x2ba) ldloc.s 11 | |
[ 1] 700 (0x2bc) call 060000EB | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00031 (IL 0x2BA... ???) | |
[000117] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000116] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
[ 1] 705 (0x2c1) ldc.i4.1 1 | |
[ 2] 706 (0x2c2) conv.i | |
Folding long operator with constant nodes into a constant: | |
[000120] ------------ * CAST long <- int | |
[000119] ------------ \--* CNS_INT int 1 | |
Bashed to long constant: | |
[000120] ------------ * CNS_INT long 1 | |
[ 2] 707 (0x2c3) ldloca.s 9 | |
[ 3] 709 (0x2c5) call 0A000101 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0 | |
lvaGrabTemp returning 31 (V31 tmp5) called for impAppendStmt. | |
STMT00033 (IL ???... ???) | |
[000126] -AC--------- * ASG struct (copy) | |
[000124] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V31 tmp5 | |
[000118] --C--------- \--* RET_EXPR struct(inl return expr [000117]) | |
STMT00032 (IL ???... ???) | |
[000123] I-C-G------- * CALL int System.DateTime.get_Month (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000122] ------------ this in rcx \--* ADDR byref | |
[000121] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
[ 3] 714 (0x2ca) call 06000847 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00034 (IL ???... ???) | |
[000129] I-C-G------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000128] --C--------- arg0 \--* RET_EXPR int (inl return expr [000123]) | |
[ 3] 719 (0x2cf) stloc.s 18 | |
STMT00035 (IL ???... ???) | |
[000133] -AC--------- * ASG struct (copy) | |
[000131] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000130] --C--------- \--* RET_EXPR struct(inl return expr [000129]) | |
[ 2] 721 (0x2d1) ldloca.s 18 | |
[ 3] 723 (0x2d3) call 0600010C | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00036 (IL ???... ???) | |
[000136] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000135] ------------ this in rcx \--* ADDR byref | |
[000134] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[ 3] 728 (0x2d8) call 060008B6 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0 | |
Calling impNormStructVal on: | |
[000137] --C--------- * RET_EXPR struct(inl return expr [000136]) | |
lvaGrabTemp returning 32 (V32 tmp6) called for struct address for call/obj. | |
STMT00037 (IL ???... ???) | |
[000141] -AC--------- * ASG struct (copy) | |
[000139] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V32 tmp6 | |
[000137] --C--------- \--* RET_EXPR struct(inl return expr [000136]) | |
resulting tree: | |
[000144] n----------- * OBJ struct<Python.Runtime.StolenReference, 8> | |
[000143] ------------ \--* ADDR byref | |
[000142] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V32 tmp6 | |
Calling impNormStructVal on: | |
[000127] ------------ * LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V31 tmp5 | |
resulting tree: | |
[000146] n----------- * OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000145] ------------ \--* ADDR byref | |
[000127] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V31 tmp5 | |
STMT00038 (IL ???... ???) | |
[000138] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000146] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000145] ------------ | \--* ADDR byref | |
[000127] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V31 tmp5 | |
[000120] ------------ arg1 +--* CNS_INT long 1 | |
[000144] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000143] ------------ \--* ADDR byref | |
[000142] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V32 tmp6 | |
[ 1] 733 (0x2dd) pop | |
STMT00039 (IL ???... ???) | |
[000149] --C--------- * COMMA void | |
[000147] --C--------- +--* RET_EXPR int (inl return expr [000138]) | |
[000148] ------------ \--* NOP void | |
[ 0] 734 (0x2de) ldloc.s 11 | |
[ 1] 736 (0x2e0) call 060000EB | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00040 (IL 0x2DE... ???) | |
[000151] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000150] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
[ 1] 741 (0x2e5) ldc.i4.2 2 | |
[ 2] 742 (0x2e6) conv.i | |
Folding long operator with constant nodes into a constant: | |
[000154] ------------ * CAST long <- int | |
[000153] ------------ \--* CNS_INT int 2 | |
Bashed to long constant: | |
[000154] ------------ * CNS_INT long 2 | |
[ 2] 743 (0x2e7) ldloca.s 9 | |
[ 3] 745 (0x2e9) call 0A000102 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0 | |
lvaGrabTemp returning 33 (V33 tmp7) called for impAppendStmt. | |
STMT00042 (IL ???... ???) | |
[000160] -AC--------- * ASG struct (copy) | |
[000158] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V33 tmp7 | |
[000152] --C--------- \--* RET_EXPR struct(inl return expr [000151]) | |
STMT00041 (IL ???... ???) | |
[000157] I-C-G------- * CALL int System.DateTime.get_Day (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000156] ------------ this in rcx \--* ADDR byref | |
[000155] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
[ 3] 750 (0x2ee) call 06000847 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00043 (IL ???... ???) | |
[000163] I-C-G------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000162] --C--------- arg0 \--* RET_EXPR int (inl return expr [000157]) | |
[ 3] 755 (0x2f3) stloc.s 18 | |
STMT00044 (IL ???... ???) | |
[000167] -AC--------- * ASG struct (copy) | |
[000165] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000164] --C--------- \--* RET_EXPR struct(inl return expr [000163]) | |
[ 2] 757 (0x2f5) ldloca.s 18 | |
[ 3] 759 (0x2f7) call 0600010C | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00045 (IL ???... ???) | |
[000170] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000169] ------------ this in rcx \--* ADDR byref | |
[000168] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[ 3] 764 (0x2fc) call 060008B6 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0 | |
Calling impNormStructVal on: | |
[000171] --C--------- * RET_EXPR struct(inl return expr [000170]) | |
lvaGrabTemp returning 34 (V34 tmp8) called for struct address for call/obj. | |
STMT00046 (IL ???... ???) | |
[000175] -AC--------- * ASG struct (copy) | |
[000173] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V34 tmp8 | |
[000171] --C--------- \--* RET_EXPR struct(inl return expr [000170]) | |
resulting tree: | |
[000178] n----------- * OBJ struct<Python.Runtime.StolenReference, 8> | |
[000177] ------------ \--* ADDR byref | |
[000176] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V34 tmp8 | |
Calling impNormStructVal on: | |
[000161] ------------ * LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V33 tmp7 | |
resulting tree: | |
[000180] n----------- * OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000179] ------------ \--* ADDR byref | |
[000161] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V33 tmp7 | |
STMT00047 (IL ???... ???) | |
[000172] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000180] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000179] ------------ | \--* ADDR byref | |
[000161] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V33 tmp7 | |
[000154] ------------ arg1 +--* CNS_INT long 2 | |
[000178] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000177] ------------ \--* ADDR byref | |
[000176] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V34 tmp8 | |
[ 1] 769 (0x301) pop | |
STMT00048 (IL ???... ???) | |
[000183] --C--------- * COMMA void | |
[000181] --C--------- +--* RET_EXPR int (inl return expr [000172]) | |
[000182] ------------ \--* NOP void | |
[ 0] 770 (0x302) ldloc.s 11 | |
[ 1] 772 (0x304) call 060000EB | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00049 (IL 0x302... ???) | |
[000185] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000184] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
[ 1] 777 (0x309) ldc.i4.3 3 | |
[ 2] 778 (0x30a) conv.i | |
Folding long operator with constant nodes into a constant: | |
[000188] ------------ * CAST long <- int | |
[000187] ------------ \--* CNS_INT int 3 | |
Bashed to long constant: | |
[000188] ------------ * CNS_INT long 3 | |
[ 2] 779 (0x30b) ldloca.s 9 | |
[ 3] 781 (0x30d) call 0A000103 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0 | |
lvaGrabTemp returning 35 (V35 tmp9) called for impAppendStmt. | |
STMT00051 (IL ???... ???) | |
[000194] -AC--------- * ASG struct (copy) | |
[000192] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V35 tmp9 | |
[000186] --C--------- \--* RET_EXPR struct(inl return expr [000185]) | |
STMT00050 (IL ???... ???) | |
[000191] I-C-G------- * CALL int System.DateTime.get_Hour (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000190] ------------ this in rcx \--* ADDR byref | |
[000189] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
[ 3] 786 (0x312) call 06000847 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00052 (IL ???... ???) | |
[000197] I-C-G------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000196] --C--------- arg0 \--* RET_EXPR int (inl return expr [000191]) | |
[ 3] 791 (0x317) stloc.s 18 | |
STMT00053 (IL ???... ???) | |
[000201] -AC--------- * ASG struct (copy) | |
[000199] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000198] --C--------- \--* RET_EXPR struct(inl return expr [000197]) | |
[ 2] 793 (0x319) ldloca.s 18 | |
[ 3] 795 (0x31b) call 0600010C | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00054 (IL ???... ???) | |
[000204] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000203] ------------ this in rcx \--* ADDR byref | |
[000202] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[ 3] 800 (0x320) call 060008B6 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0 | |
Calling impNormStructVal on: | |
[000205] --C--------- * RET_EXPR struct(inl return expr [000204]) | |
lvaGrabTemp returning 36 (V36 tmp10) called for struct address for call/obj. | |
STMT00055 (IL ???... ???) | |
[000209] -AC--------- * ASG struct (copy) | |
[000207] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V36 tmp10 | |
[000205] --C--------- \--* RET_EXPR struct(inl return expr [000204]) | |
resulting tree: | |
[000212] n----------- * OBJ struct<Python.Runtime.StolenReference, 8> | |
[000211] ------------ \--* ADDR byref | |
[000210] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V36 tmp10 | |
Calling impNormStructVal on: | |
[000195] ------------ * LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V35 tmp9 | |
resulting tree: | |
[000214] n----------- * OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000213] ------------ \--* ADDR byref | |
[000195] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V35 tmp9 | |
STMT00056 (IL ???... ???) | |
[000206] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000214] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000213] ------------ | \--* ADDR byref | |
[000195] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V35 tmp9 | |
[000188] ------------ arg1 +--* CNS_INT long 3 | |
[000212] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000211] ------------ \--* ADDR byref | |
[000210] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V36 tmp10 | |
[ 1] 805 (0x325) pop | |
STMT00057 (IL ???... ???) | |
[000217] --C--------- * COMMA void | |
[000215] --C--------- +--* RET_EXPR int (inl return expr [000206]) | |
[000216] ------------ \--* NOP void | |
[ 0] 806 (0x326) ldloc.s 11 | |
[ 1] 808 (0x328) call 060000EB | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00058 (IL 0x326... ???) | |
[000219] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000218] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
[ 1] 813 (0x32d) ldc.i4.4 4 | |
[ 2] 814 (0x32e) conv.i | |
Folding long operator with constant nodes into a constant: | |
[000222] ------------ * CAST long <- int | |
[000221] ------------ \--* CNS_INT int 4 | |
Bashed to long constant: | |
[000222] ------------ * CNS_INT long 4 | |
[ 2] 815 (0x32f) ldloca.s 9 | |
[ 3] 817 (0x331) call 0A000104 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0 | |
lvaGrabTemp returning 37 (V37 tmp11) called for impAppendStmt. | |
STMT00060 (IL ???... ???) | |
[000228] -AC--------- * ASG struct (copy) | |
[000226] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V37 tmp11 | |
[000220] --C--------- \--* RET_EXPR struct(inl return expr [000219]) | |
STMT00059 (IL ???... ???) | |
[000225] I-C-G------- * CALL int System.DateTime.get_Minute (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000224] ------------ this in rcx \--* ADDR byref | |
[000223] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
[ 3] 822 (0x336) call 06000847 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00061 (IL ???... ???) | |
[000231] I-C-G------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000230] --C--------- arg0 \--* RET_EXPR int (inl return expr [000225]) | |
[ 3] 827 (0x33b) stloc.s 18 | |
STMT00062 (IL ???... ???) | |
[000235] -AC--------- * ASG struct (copy) | |
[000233] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000232] --C--------- \--* RET_EXPR struct(inl return expr [000231]) | |
[ 2] 829 (0x33d) ldloca.s 18 | |
[ 3] 831 (0x33f) call 0600010C | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00063 (IL ???... ???) | |
[000238] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000237] ------------ this in rcx \--* ADDR byref | |
[000236] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[ 3] 836 (0x344) call 060008B6 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0 | |
Calling impNormStructVal on: | |
[000239] --C--------- * RET_EXPR struct(inl return expr [000238]) | |
lvaGrabTemp returning 38 (V38 tmp12) called for struct address for call/obj. | |
STMT00064 (IL ???... ???) | |
[000243] -AC--------- * ASG struct (copy) | |
[000241] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V38 tmp12 | |
[000239] --C--------- \--* RET_EXPR struct(inl return expr [000238]) | |
resulting tree: | |
[000246] n----------- * OBJ struct<Python.Runtime.StolenReference, 8> | |
[000245] ------------ \--* ADDR byref | |
[000244] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V38 tmp12 | |
Calling impNormStructVal on: | |
[000229] ------------ * LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V37 tmp11 | |
resulting tree: | |
[000248] n----------- * OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000247] ------------ \--* ADDR byref | |
[000229] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V37 tmp11 | |
STMT00065 (IL ???... ???) | |
[000240] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000248] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000247] ------------ | \--* ADDR byref | |
[000229] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V37 tmp11 | |
[000222] ------------ arg1 +--* CNS_INT long 4 | |
[000246] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000245] ------------ \--* ADDR byref | |
[000244] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V38 tmp12 | |
[ 1] 841 (0x349) pop | |
STMT00066 (IL ???... ???) | |
[000251] --C--------- * COMMA void | |
[000249] --C--------- +--* RET_EXPR int (inl return expr [000240]) | |
[000250] ------------ \--* NOP void | |
[ 0] 842 (0x34a) ldloc.s 11 | |
[ 1] 844 (0x34c) call 060000EB | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00067 (IL 0x34A... ???) | |
[000253] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000252] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
[ 1] 849 (0x351) ldc.i4.5 5 | |
[ 2] 850 (0x352) conv.i | |
Folding long operator with constant nodes into a constant: | |
[000256] ------------ * CAST long <- int | |
[000255] ------------ \--* CNS_INT int 5 | |
Bashed to long constant: | |
[000256] ------------ * CNS_INT long 5 | |
[ 2] 851 (0x353) ldloca.s 9 | |
[ 3] 853 (0x355) call 0A000105 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0 | |
lvaGrabTemp returning 39 (V39 tmp13) called for impAppendStmt. | |
STMT00069 (IL ???... ???) | |
[000262] -AC--------- * ASG struct (copy) | |
[000260] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V39 tmp13 | |
[000254] --C--------- \--* RET_EXPR struct(inl return expr [000253]) | |
STMT00068 (IL ???... ???) | |
[000259] I-C-G------- * CALL int System.DateTime.get_Second (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000258] ------------ this in rcx \--* ADDR byref | |
[000257] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
[ 3] 858 (0x35a) call 06000847 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00070 (IL ???... ???) | |
[000265] I-C-G------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000264] --C--------- arg0 \--* RET_EXPR int (inl return expr [000259]) | |
[ 3] 863 (0x35f) stloc.s 18 | |
STMT00071 (IL ???... ???) | |
[000269] -AC--------- * ASG struct (copy) | |
[000267] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000266] --C--------- \--* RET_EXPR struct(inl return expr [000265]) | |
[ 2] 865 (0x361) ldloca.s 18 | |
[ 3] 867 (0x363) call 0600010C | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00072 (IL ???... ???) | |
[000272] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000271] ------------ this in rcx \--* ADDR byref | |
[000270] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[ 3] 872 (0x368) call 060008B6 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0 | |
Calling impNormStructVal on: | |
[000273] --C--------- * RET_EXPR struct(inl return expr [000272]) | |
lvaGrabTemp returning 40 (V40 tmp14) called for struct address for call/obj. | |
STMT00073 (IL ???... ???) | |
[000277] -AC--------- * ASG struct (copy) | |
[000275] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V40 tmp14 | |
[000273] --C--------- \--* RET_EXPR struct(inl return expr [000272]) | |
resulting tree: | |
[000280] n----------- * OBJ struct<Python.Runtime.StolenReference, 8> | |
[000279] ------------ \--* ADDR byref | |
[000278] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V40 tmp14 | |
Calling impNormStructVal on: | |
[000263] ------------ * LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V39 tmp13 | |
resulting tree: | |
[000282] n----------- * OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000281] ------------ \--* ADDR byref | |
[000263] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V39 tmp13 | |
STMT00074 (IL ???... ???) | |
[000274] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000282] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000281] ------------ | \--* ADDR byref | |
[000263] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V39 tmp13 | |
[000256] ------------ arg1 +--* CNS_INT long 5 | |
[000280] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000279] ------------ \--* ADDR byref | |
[000278] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V40 tmp14 | |
[ 1] 877 (0x36d) pop | |
STMT00075 (IL ???... ???) | |
[000285] --C--------- * COMMA void | |
[000283] --C--------- +--* RET_EXPR int (inl return expr [000274]) | |
[000284] ------------ \--* NOP void | |
[ 0] 878 (0x36e) ldloca.s 9 | |
[ 1] 880 (0x370) call 0A000106 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00076 (IL 0x36E... ???) | |
[000288] I-C-G------- * CALL struct System.DateTime.get_TimeOfDay (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000287] ------------ this in rcx \--* ADDR byref | |
[000286] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
[ 1] 885 (0x375) stloc.s 19 | |
STMT00077 (IL ???... ???) | |
[000292] -AC--------- * ASG struct (copy) | |
[000290] D------N---- +--* LCL_VAR struct<System.TimeSpan, 8> V21 loc19 | |
[000289] --C--------- \--* RET_EXPR struct(inl return expr [000288]) | |
[ 0] 887 (0x377) ldloca.s 19 | |
[ 1] 889 (0x379) call 0A000107 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is double, structSize is 0 | |
STMT00078 (IL 0x377... ???) | |
[000295] I-C-G------- * CALL double System.TimeSpan.get_TotalSeconds (exactContextHnd=0x00007FF8FD001FA1) | |
[000294] ------------ this in rcx \--* ADDR byref | |
[000293] -------N---- \--* LCL_VAR struct<System.TimeSpan, 8> V21 loc19 | |
[ 1] 894 (0x37e) stloc.s 12 | |
STMT00079 (IL ???... ???) | |
[000298] -AC--------- * ASG double | |
[000297] D------N---- +--* LCL_VAR double V14 loc12 | |
[000296] --C--------- \--* RET_EXPR double(inl return expr [000295]) | |
[ 0] 896 (0x380) ldloc.s 12 | |
[ 1] 898 (0x382) ldloc.s 12 | |
[ 2] 900 (0x384) call 0A000108 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is double, structSize is 0 | |
STMT00080 (IL 0x380... ???) | |
[000301] I-C-G------- * CALL double System.Math.Truncate (exactContextHnd=0x00007FF8FD49AA39) | |
[000300] ------------ arg0 \--* LCL_VAR double V14 loc12 | |
[ 2] 905 (0x389) sub | |
[ 1] 906 (0x38a) ldc.r8 1000000.0000000000 | |
[ 2] 915 (0x393) mul | |
[ 1] 916 (0x394) call 0A000109 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0 | |
STMT00081 (IL ???... ???) | |
[000306] I-C-G------- * CALL int System.Convert.ToInt32 (exactContextHnd=0x00007FF8FD404741) | |
[000305] --C--------- arg0 \--* MUL double | |
[000303] --C--------- +--* SUB double | |
[000299] ------------ | +--* LCL_VAR double V14 loc12 | |
[000302] --C--------- | \--* RET_EXPR double(inl return expr [000301]) | |
[000304] ------------ \--* CNS_DBL double 1000000.0000000000 | |
[ 1] 921 (0x399) stloc.s 13 | |
STMT00082 (IL ???... ???) | |
[000309] -AC--------- * ASG int | |
[000308] D------N---- +--* LCL_VAR int V15 loc13 | |
[000307] --C--------- \--* RET_EXPR int (inl return expr [000306]) | |
[ 0] 923 (0x39b) ldloc.s 13 | |
[ 1] 925 (0x39d) ldc.i4 1000000 | |
[ 2] 930 (0x3a2) bne.un.s | |
STMT00083 (IL 0x39B... ???) | |
[000313] ------------ * JTRUE void | |
[000312] N--------U-- \--* NE int | |
[000310] ------------ +--* LCL_VAR int V15 loc13 | |
[000311] ------------ \--* CNS_INT int 0xF4240 | |
impImportBlockPending for BB58 | |
impImportBlockPending for BB59 | |
Importing BB59 (PC=939) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 939 (0x3ab) ldloc.s 11 | |
[ 1] 941 (0x3ad) call 060000EB | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00084 (IL 0x3AB... ???) | |
[000315] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000314] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
[ 1] 946 (0x3b2) ldc.i4.6 6 | |
[ 2] 947 (0x3b3) conv.i | |
Folding long operator with constant nodes into a constant: | |
[000318] ------------ * CAST long <- int | |
[000317] ------------ \--* CNS_INT int 6 | |
Bashed to long constant: | |
[000318] ------------ * CNS_INT long 6 | |
[ 2] 948 (0x3b4) ldloc.s 13 | |
[ 3] 950 (0x3b6) call 06000847 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
lvaGrabTemp returning 41 (V41 tmp15) called for impAppendStmt. | |
STMT00086 (IL ???... ???) | |
[000323] -AC--------- * ASG struct (copy) | |
[000321] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V41 tmp15 | |
[000316] --C--------- \--* RET_EXPR struct(inl return expr [000315]) | |
STMT00085 (IL ???... ???) | |
[000320] I-C-G------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000319] ------------ arg0 \--* LCL_VAR int V15 loc13 | |
[ 3] 955 (0x3bb) stloc.s 18 | |
STMT00087 (IL ???... ???) | |
[000328] -AC--------- * ASG struct (copy) | |
[000326] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000325] --C--------- \--* RET_EXPR struct(inl return expr [000320]) | |
[ 2] 957 (0x3bd) ldloca.s 18 | |
[ 3] 959 (0x3bf) call 0600010C | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00088 (IL ???... ???) | |
[000331] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000330] ------------ this in rcx \--* ADDR byref | |
[000329] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[ 3] 964 (0x3c4) call 060008B6 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0 | |
Calling impNormStructVal on: | |
[000332] --C--------- * RET_EXPR struct(inl return expr [000331]) | |
lvaGrabTemp returning 42 (V42 tmp16) called for struct address for call/obj. | |
STMT00089 (IL ???... ???) | |
[000336] -AC--------- * ASG struct (copy) | |
[000334] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V42 tmp16 | |
[000332] --C--------- \--* RET_EXPR struct(inl return expr [000331]) | |
resulting tree: | |
[000339] n----------- * OBJ struct<Python.Runtime.StolenReference, 8> | |
[000338] ------------ \--* ADDR byref | |
[000337] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V42 tmp16 | |
Calling impNormStructVal on: | |
[000324] ------------ * LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V41 tmp15 | |
resulting tree: | |
[000341] n----------- * OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000340] ------------ \--* ADDR byref | |
[000324] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V41 tmp15 | |
STMT00090 (IL ???... ???) | |
[000333] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000341] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000340] ------------ | \--* ADDR byref | |
[000324] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V41 tmp15 | |
[000318] ------------ arg1 +--* CNS_INT long 6 | |
[000339] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000338] ------------ \--* ADDR byref | |
[000337] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V42 tmp16 | |
[ 1] 969 (0x3c9) pop | |
STMT00091 (IL ???... ???) | |
[000344] --C--------- * COMMA void | |
[000342] --C--------- +--* RET_EXPR int (inl return expr [000333]) | |
[000343] ------------ \--* NOP void | |
[ 0] 970 (0x3ca) ldloc.s 10 | |
[ 1] 972 (0x3cc) ldc.i4.8 8 | |
[ 2] 973 (0x3cd) bne.un.s | |
STMT00092 (IL 0x3CA... ???) | |
[000348] ------------ * JTRUE void | |
[000347] N--------U-- \--* NE int | |
[000345] ------------ +--* LCL_VAR int V12 loc10 | |
[000346] ------------ \--* CNS_INT int 8 | |
impImportBlockPending for BB60 | |
impImportBlockPending for BB61 | |
Importing BB61 (PC=1011) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 1011 (0x3f3) ldsfld 0400001F | |
[ 1] 1016 (0x3f8) call 060000EB | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00093 (IL 0x3F3... ???) | |
[000350] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000349] ----G------- arg0 \--* FIELD ref dateTimeCtor | |
[ 1] 1021 (0x3fd) ldloc.s 11 | |
[ 2] 1023 (0x3ff) call 060000EB | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
lvaGrabTemp returning 43 (V43 tmp17) called for impAppendStmt. | |
STMT00095 (IL ???... ???) | |
[000356] -AC--------- * ASG struct (copy) | |
[000354] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V43 tmp17 | |
[000351] --C--------- \--* RET_EXPR struct(inl return expr [000350]) | |
STMT00094 (IL ???... ???) | |
[000353] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000352] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
[ 2] 1028 (0x404) call 06000824 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
Calling impNormStructVal on: | |
[000358] --C--------- * RET_EXPR struct(inl return expr [000353]) | |
lvaGrabTemp returning 44 (V44 tmp18) called for struct address for call/obj. | |
STMT00096 (IL ???... ???) | |
[000362] -AC--------- * ASG struct (copy) | |
[000360] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V44 tmp18 | |
[000358] --C--------- \--* RET_EXPR struct(inl return expr [000353]) | |
resulting tree: | |
[000365] n----------- * OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000364] ------------ \--* ADDR byref | |
[000363] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V44 tmp18 | |
Calling impNormStructVal on: | |
[000357] ------------ * LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V43 tmp17 | |
resulting tree: | |
[000367] n----------- * OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000366] ------------ \--* ADDR byref | |
[000357] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V43 tmp17 | |
STMT00097 (IL ???... ???) | |
[000359] I-C-G------- * CALL struct Python.Runtime.Runtime.PyObject_CallObject (exactContextHnd=0x00007FF9001CEA41) | |
[000367] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000366] ------------ | \--* ADDR byref | |
[000357] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V43 tmp17 | |
[000365] n----------- arg1 \--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000364] ------------ \--* ADDR byref | |
[000363] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V44 tmp18 | |
[ 1] 1033 (0x409) stloc.s 14 | |
STMT00098 (IL ???... ???) | |
[000371] -AC--------- * ASG struct (copy) | |
[000369] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V16 loc14 | |
[000368] --C--------- \--* RET_EXPR struct(inl return expr [000359]) | |
[ 0] 1035 (0x40b) ldloc.s 14 | |
[ 1] 1037 (0x40d) ret | |
impFixupStructReturnType: retyping | |
[000372] ------------ * LCL_VAR struct<Python.Runtime.NewReference, 8> V16 loc14 | |
STMT00099 (IL 0x40B... ???) | |
[000373] ------------ * RETURN struct | |
[000372] ------------ \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V16 loc14 | |
Importing BB60 (PC=975) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 975 (0x3cf) ldloc.s 11 | |
[ 1] 977 (0x3d1) call 060000EB | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00100 (IL 0x3CF... ???) | |
[000375] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000374] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
[ 1] 982 (0x3d6) ldc.i4.7 7 | |
[ 2] 983 (0x3d7) conv.i | |
Folding long operator with constant nodes into a constant: | |
[000378] ------------ * CAST long <- int | |
[000377] ------------ \--* CNS_INT int 7 | |
Bashed to long constant: | |
[000378] ------------ * CNS_INT long 7 | |
[ 2] 984 (0x3d8) ldloca.s 9 | |
[ 3] 986 (0x3da) call 0A0000FF | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0 | |
lvaGrabTemp returning 45 (V45 tmp19) called for impAppendStmt. | |
STMT00102 (IL ???... ???) | |
[000384] -AC--------- * ASG struct (copy) | |
[000382] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V45 tmp19 | |
[000376] --C--------- \--* RET_EXPR struct(inl return expr [000375]) | |
STMT00101 (IL ???... ???) | |
[000381] I-C-G------- * CALL int System.DateTime.get_Kind (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000380] ------------ this in rcx \--* ADDR byref | |
[000379] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
[ 3] 991 (0x3df) call 06000045 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'has exception handling' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'Python.Runtime.Converter:TzInfo(int):Python.Runtime.NewReference' | |
INLINER: Marking Python.Runtime.Converter:TzInfo(int):Python.Runtime.NewReference as NOINLINE because of has exception handling | |
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'has exception handling' | |
[ 3] 996 (0x3e4) stloc.s 18 | |
STMT00103 (IL ???... ???) | |
[000390] -AC-G------- * ASG struct (copy) | |
[000388] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000387] --C-G------- \--* CALL struct Python.Runtime.Converter.TzInfo | |
[000386] --C--------- arg0 \--* RET_EXPR int (inl return expr [000381]) | |
[ 2] 998 (0x3e6) ldloca.s 18 | |
[ 3] 1000 (0x3e8) call 0600010C | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00104 (IL ???... ???) | |
[000393] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000392] ------------ this in rcx \--* ADDR byref | |
[000391] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[ 3] 1005 (0x3ed) call 060008B6 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0 | |
Calling impNormStructVal on: | |
[000394] --C--------- * RET_EXPR struct(inl return expr [000393]) | |
lvaGrabTemp returning 46 (V46 tmp20) called for struct address for call/obj. | |
STMT00105 (IL ???... ???) | |
[000398] -AC--------- * ASG struct (copy) | |
[000396] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V46 tmp20 | |
[000394] --C--------- \--* RET_EXPR struct(inl return expr [000393]) | |
resulting tree: | |
[000401] n----------- * OBJ struct<Python.Runtime.StolenReference, 8> | |
[000400] ------------ \--* ADDR byref | |
[000399] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V46 tmp20 | |
Calling impNormStructVal on: | |
[000385] ------------ * LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V45 tmp19 | |
resulting tree: | |
[000403] n----------- * OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000402] ------------ \--* ADDR byref | |
[000385] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V45 tmp19 | |
STMT00106 (IL ???... ???) | |
[000395] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000403] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000402] ------------ | \--* ADDR byref | |
[000385] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V45 tmp19 | |
[000378] ------------ arg1 +--* CNS_INT long 7 | |
[000401] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000400] ------------ \--* ADDR byref | |
[000399] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V46 tmp20 | |
[ 1] 1010 (0x3f2) pop | |
STMT00107 (IL ???... ???) | |
[000406] --C--------- * COMMA void | |
[000404] --C--------- +--* RET_EXPR int (inl return expr [000395]) | |
[000405] ------------ \--* NOP void | |
impImportBlockPending for BB61 | |
Importing BB58 (PC=932) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 932 (0x3a4) ldc.i4 999999 | |
[ 1] 937 (0x3a9) stloc.s 13 | |
STMT00108 (IL 0x3A4... ???) | |
[000409] -A---------- * ASG int | |
[000408] D------N---- +--* LCL_VAR int V15 loc13 | |
[000407] ------------ \--* CNS_INT int 0xF423F | |
impImportBlockPending for BB59 | |
Importing BB55 (PC=648) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 648 (0x288) ldsfld 04000023 | |
[ 1] 653 (0x28d) br.s | |
Spilling stack entries into temps | |
STMT00109 (IL 0x288... ???) | |
[000412] -A--G------- * ASG ref | |
[000411] D------N---- +--* LCL_VAR ref V28 tmp2 | |
[000410] ----G------- \--* FIELD ref pyTupleKind | |
impImportBlockPending for BB57 | |
Importing BB52 (PC=633) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 633 (0x279) ldc.i4.8 8 | |
[ 1] 634 (0x27a) br.s | |
Spilling stack entries into temps | |
STMT00110 (IL 0x279... ???) | |
[000416] -A---------- * ASG int | |
[000415] D------N---- +--* LCL_VAR int V27 tmp1 | |
[000414] ------------ \--* CNS_INT int 8 | |
impImportBlockPending for BB54 | |
Importing BB50 (PC=599) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 599 (0x257) ldarg.0 | |
[ 1] 600 (0x258) unbox.any 01000046 | |
Importing UNBOX.ANY as helper call because want smaller code or faster jitting | |
[ 1] 605 (0x25d) call 0A0000FE | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is double, structSize is 0 | |
Calling impNormStructVal on: | |
[000421] --CXG------- * OBJ struct<System.Decimal, 16> | |
[000420] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000419] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcf5f5b8 class | |
[000418] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
resulting tree: | |
[000421] --CXG------- * OBJ struct<System.Decimal, 16> | |
[000420] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000419] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcf5f5b8 class | |
[000418] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
STMT00111 (IL 0x257... ???) | |
[000422] I-CXG------- * CALL double System.Decimal.ToDouble (exactContextHnd=0x00007FF8FCF5F5B9) | |
[000421] --CXG------- arg0 \--* OBJ struct<System.Decimal, 16> | |
[000420] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000419] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcf5f5b8 class | |
[000418] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
[ 1] 610 (0x262) call 06000854 | |
(Implicit Tail call: prefixFlags |= PREFIX_TAILCALL_IMPLICIT) | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
GTF_CALL_M_IMPLICIT_TAILCALL set for call [000424] | |
STMT00112 (IL ???... ???) | |
[000424] I-C-G------- * CALL struct Python.Runtime.Runtime.PyFloat_FromDouble (exactContextHnd=0x00007FF9001CEA41) | |
[000423] --C--------- arg0 \--* RET_EXPR double(inl return expr [000422]) | |
[ 1] 615 (0x267) ret | |
impFixupStructReturnType: retyping | |
[000425] --C--------- * RET_EXPR struct(inl return expr [000424]) | |
STMT00113 (IL ???... ???) | |
[000426] --C--------- * RETURN struct | |
[000425] --C--------- \--* RET_EXPR struct(inl return expr [000424]) | |
Importing BB45 (PC=538) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 538 (0x21a) ldarg.0 | |
[ 1] 539 (0x21b) unbox.any 010000CC | |
Importing UNBOX.ANY as helper call because want smaller code or faster jitting | |
[ 1] 544 (0x220) call 06000854 | |
(Implicit Tail call: prefixFlags |= PREFIX_TAILCALL_IMPLICIT) | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
GTF_CALL_M_IMPLICIT_TAILCALL set for call [000431] | |
STMT00114 (IL 0x21A... ???) | |
[000431] I-CXG------- * CALL struct Python.Runtime.Runtime.PyFloat_FromDouble (exactContextHnd=0x00007FF9001CEA41) | |
[000430] *-CXG------- arg0 \--* IND double | |
[000429] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000428] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcf57320 class | |
[000427] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
[ 1] 549 (0x225) ret | |
impFixupStructReturnType: retyping | |
[000432] --C--------- * RET_EXPR struct(inl return expr [000431]) | |
STMT00115 (IL ???... ???) | |
[000433] --C--------- * RETURN struct | |
[000432] --C--------- \--* RET_EXPR struct(inl return expr [000431]) | |
Importing BB44 (PC=525) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 525 (0x20d) ldarg.0 | |
[ 1] 526 (0x20e) unbox.any 010000CB | |
Importing UNBOX.ANY as helper call because want smaller code or faster jitting | |
[ 1] 531 (0x213) conv.r8 | |
[ 1] 532 (0x214) call 06000854 | |
(Implicit Tail call: prefixFlags |= PREFIX_TAILCALL_IMPLICIT) | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
GTF_CALL_M_IMPLICIT_TAILCALL set for call [000439] | |
STMT00116 (IL 0x20D... ???) | |
[000439] I-CXG------- * CALL struct Python.Runtime.Runtime.PyFloat_FromDouble (exactContextHnd=0x00007FF9001CEA41) | |
[000438] --CXG------- arg0 \--* CAST double <- float | |
[000437] *-CXG------- \--* IND float | |
[000436] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000435] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcf2dea0 class | |
[000434] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
[ 1] 537 (0x219) ret | |
impFixupStructReturnType: retyping | |
[000440] --C--------- * RET_EXPR struct(inl return expr [000439]) | |
STMT00117 (IL ???... ???) | |
[000441] --C--------- * RETURN struct | |
[000440] --C--------- \--* RET_EXPR struct(inl return expr [000439]) | |
Importing BB49 (PC=587) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 587 (0x24b) ldarg.0 | |
[ 1] 588 (0x24c) unbox.any 010000D1 | |
Importing UNBOX.ANY as helper call because want smaller code or faster jitting | |
[ 1] 593 (0x251) call 0600084B | |
(Implicit Tail call: prefixFlags |= PREFIX_TAILCALL_IMPLICIT) | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
GTF_CALL_M_IMPLICIT_TAILCALL set for call [000446] | |
STMT00118 (IL 0x24B... ???) | |
[000446] I-CXG------- * CALL struct Python.Runtime.Runtime.PyLong_FromUnsignedLongLong (exactContextHnd=0x00007FF9001CEA41) | |
[000445] *-CXG------- arg0 \--* IND long | |
[000444] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000443] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcf29478 class | |
[000442] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
[ 1] 598 (0x256) ret | |
impFixupStructReturnType: retyping | |
[000447] --C--------- * RET_EXPR struct(inl return expr [000446]) | |
STMT00119 (IL ???... ???) | |
[000448] --C--------- * RETURN struct | |
[000447] --C--------- \--* RET_EXPR struct(inl return expr [000446]) | |
Importing BB43 (PC=513) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 513 (0x201) ldarg.0 | |
[ 1] 514 (0x202) unbox.any 010000CA | |
Importing UNBOX.ANY as helper call because want smaller code or faster jitting | |
[ 1] 519 (0x207) call 0600084A | |
(Implicit Tail call: prefixFlags |= PREFIX_TAILCALL_IMPLICIT) | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
GTF_CALL_M_IMPLICIT_TAILCALL set for call [000453] | |
STMT00120 (IL 0x201... ???) | |
[000453] I-CXG------- * CALL struct Python.Runtime.Runtime.PyLong_FromLongLong (exactContextHnd=0x00007FF9001CEA41) | |
[000452] *-CXG------- arg0 \--* IND long | |
[000451] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000450] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcf26f98 class | |
[000449] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
[ 1] 524 (0x20c) ret | |
impFixupStructReturnType: retyping | |
[000454] --C--------- * RET_EXPR struct(inl return expr [000453]) | |
STMT00121 (IL ???... ???) | |
[000455] --C--------- * RETURN struct | |
[000454] --C--------- \--* RET_EXPR struct(inl return expr [000453]) | |
Importing BB48 (PC=574) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 574 (0x23e) ldarg.0 | |
[ 1] 575 (0x23f) unbox.any 010000D0 | |
Importing UNBOX.ANY as helper call because want smaller code or faster jitting | |
[ 1] 580 (0x244) conv.u8 | |
[ 1] 581 (0x245) call 0600084B | |
(Implicit Tail call: prefixFlags |= PREFIX_TAILCALL_IMPLICIT) | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
GTF_CALL_M_IMPLICIT_TAILCALL set for call [000461] | |
STMT00122 (IL 0x23E... ???) | |
[000461] I-CXG------- * CALL struct Python.Runtime.Runtime.PyLong_FromUnsignedLongLong (exactContextHnd=0x00007FF9001CEA41) | |
[000460] --CXG----U-- arg0 \--* CAST long <- ulong <- uint | |
[000459] *-CXG------- \--* IND int | |
[000458] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000457] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcf24a68 class | |
[000456] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
[ 1] 586 (0x24a) ret | |
impFixupStructReturnType: retyping | |
[000462] --C--------- * RET_EXPR struct(inl return expr [000461]) | |
STMT00123 (IL ???... ???) | |
[000463] --C--------- * RETURN struct | |
[000462] --C--------- \--* RET_EXPR struct(inl return expr [000461]) | |
Importing BB36 (PC=433) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 433 (0x1b1) ldarg.0 | |
[ 1] 434 (0x1b2) unbox.any 010000C9 | |
Unable to optimize UNBOX.ANY -- can't resolve type comparison | |
Importing UNBOX.ANY as inline sequence | |
STMT00124 (IL 0x1B1... ???) | |
[000474] --CXG------- * QMARK void | |
[000468] Q--X-------- if +--* EQ int | |
[000467] #--X-------- | +--* IND long | |
[000464] ------------ | | \--* LCL_VAR ref V00 arg0 | |
[000465] H----------- | \--* CNS_INT(h) long 0x7ff8fcf22580 class | |
[000473] --CXG------- if \--* COLON void | |
[000471] --CXG------- else +--* CALL help void HELPER.CORINFO_HELP_UNBOX | |
[000470] H----------- arg0 | +--* CNS_INT(h) long 0x7ff8fcf22580 class | |
[000466] ------------ arg1 | \--* LCL_VAR ref V00 arg0 | |
[000472] ------------ then \--* NOP void | |
[ 1] 439 (0x1b7) call 06000847 | |
(Implicit Tail call: prefixFlags |= PREFIX_TAILCALL_IMPLICIT) | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
GTF_CALL_M_IMPLICIT_TAILCALL set for call [000478] | |
STMT00125 (IL ???... ???) | |
[000478] I-CXG------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000477] *--XG------- arg0 \--* IND int | |
[000476] ------------ \--* ADD byref | |
[000469] ------------ +--* LCL_VAR ref V00 arg0 | |
[000475] ------------ \--* CNS_INT long 8 | |
[ 1] 444 (0x1bc) ret | |
impFixupStructReturnType: retyping | |
[000479] --C--------- * RET_EXPR struct(inl return expr [000478]) | |
STMT00126 (IL ???... ???) | |
[000480] --C--------- * RETURN struct | |
[000479] --C--------- \--* RET_EXPR struct(inl return expr [000478]) | |
Importing BB47 (PC=562) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 562 (0x232) ldarg.0 | |
[ 1] 563 (0x233) unbox.any 010000CF | |
Importing UNBOX.ANY as helper call because want smaller code or faster jitting | |
[ 1] 568 (0x238) call 06000847 | |
(Implicit Tail call: prefixFlags |= PREFIX_TAILCALL_IMPLICIT) | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
GTF_CALL_M_IMPLICIT_TAILCALL set for call [000485] | |
STMT00127 (IL 0x232... ???) | |
[000485] I-CXG------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000486] --CXG------- arg0 \--* PUTARG_TYPE int | |
[000484] *-CXG------- \--* IND ushort | |
[000483] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000482] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcf20000 class | |
[000481] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
[ 1] 573 (0x23d) ret | |
impFixupStructReturnType: retyping | |
[000487] --C--------- * RET_EXPR struct(inl return expr [000485]) | |
STMT00128 (IL ???... ???) | |
[000488] --C--------- * RETURN struct | |
[000487] --C--------- \--* RET_EXPR struct(inl return expr [000485]) | |
Importing BB42 (PC=501) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 501 (0x1f5) ldarg.0 | |
[ 1] 502 (0x1f6) unbox.any 010000C8 | |
Importing UNBOX.ANY as helper call because want smaller code or faster jitting | |
[ 1] 507 (0x1fb) call 06000847 | |
(Implicit Tail call: prefixFlags |= PREFIX_TAILCALL_IMPLICIT) | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
GTF_CALL_M_IMPLICIT_TAILCALL set for call [000493] | |
STMT00129 (IL 0x1F5... ???) | |
[000493] I-CXG------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000494] --CXG------- arg0 \--* PUTARG_TYPE int | |
[000492] *-CXG------- \--* IND short | |
[000491] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000490] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcefd840 class | |
[000489] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
[ 1] 512 (0x200) ret | |
impFixupStructReturnType: retyping | |
[000495] --C--------- * RET_EXPR struct(inl return expr [000493]) | |
STMT00130 (IL ???... ???) | |
[000496] --C--------- * RETURN struct | |
[000495] --C--------- \--* RET_EXPR struct(inl return expr [000493]) | |
Importing BB40 (PC=477) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 477 (0x1dd) ldarg.0 | |
[ 1] 478 (0x1de) unbox.any 010000B5 | |
Importing UNBOX.ANY as helper call because want smaller code or faster jitting | |
[ 1] 483 (0x1e3) call 06000847 | |
(Implicit Tail call: prefixFlags |= PREFIX_TAILCALL_IMPLICIT) | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
GTF_CALL_M_IMPLICIT_TAILCALL set for call [000501] | |
STMT00131 (IL 0x1DD... ???) | |
[000501] I-CXG------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000502] --CXG------- arg0 \--* PUTARG_TYPE int | |
[000500] *-CXG------- \--* IND ubyte | |
[000499] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000498] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcefb290 class | |
[000497] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
[ 1] 488 (0x1e8) ret | |
impFixupStructReturnType: retyping | |
[000503] --C--------- * RET_EXPR struct(inl return expr [000501]) | |
STMT00132 (IL ???... ???) | |
[000504] --C--------- * RETURN struct | |
[000503] --C--------- \--* RET_EXPR struct(inl return expr [000501]) | |
Importing BB46 (PC=550) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 550 (0x226) ldarg.0 | |
[ 1] 551 (0x227) unbox.any 010000CE | |
Importing UNBOX.ANY as helper call because want smaller code or faster jitting | |
[ 1] 556 (0x22c) call 06000847 | |
(Implicit Tail call: prefixFlags |= PREFIX_TAILCALL_IMPLICIT) | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
GTF_CALL_M_IMPLICIT_TAILCALL set for call [000509] | |
STMT00133 (IL 0x226... ???) | |
[000509] I-CXG------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000510] --CXG------- arg0 \--* PUTARG_TYPE int | |
[000508] *-CXG------- \--* IND byte | |
[000507] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000506] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcef6bc8 class | |
[000505] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
[ 1] 561 (0x231) ret | |
impFixupStructReturnType: retyping | |
[000511] --C--------- * RET_EXPR struct(inl return expr [000509]) | |
STMT00134 (IL ???... ???) | |
[000512] --C--------- * RETURN struct | |
[000511] --C--------- \--* RET_EXPR struct(inl return expr [000509]) | |
Importing BB41 (PC=489) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 489 (0x1e9) ldarg.0 | |
[ 1] 490 (0x1ea) unbox.any 010000BF | |
Importing UNBOX.ANY as helper call because want smaller code or faster jitting | |
[ 1] 495 (0x1ef) call 0600088B | |
(Implicit Tail call: prefixFlags |= PREFIX_TAILCALL_IMPLICIT) | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
GTF_CALL_M_IMPLICIT_TAILCALL set for call [000517] | |
STMT00135 (IL 0x1E9... ???) | |
[000517] I-CXG------- * CALL struct Python.Runtime.Runtime.PyUnicode_FromOrdinal (exactContextHnd=0x00007FF9001CEA41) | |
[000518] --CXG------- arg0 \--* PUTARG_TYPE int | |
[000516] *-CXG------- \--* IND ushort | |
[000515] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000514] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcedb2f8 class | |
[000513] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
[ 1] 500 (0x1f4) ret | |
impFixupStructReturnType: retyping | |
[000519] --C--------- * RET_EXPR struct(inl return expr [000517]) | |
STMT00136 (IL ???... ???) | |
[000520] --C--------- * RETURN struct | |
[000519] --C--------- \--* RET_EXPR struct(inl return expr [000517]) | |
Importing BB37 (PC=445) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 445 (0x1bd) ldarg.0 | |
[ 1] 446 (0x1be) unbox.any 010000B6 | |
Importing UNBOX.ANY as helper call because want smaller code or faster jitting | |
[ 1] 451 (0x1c3) brfalse.s | |
STMT00137 (IL 0x1BD... ???) | |
[000527] --CXG------- * JTRUE void | |
[000526] --CXG------- \--* EQ int | |
[000524] *-CXG------- +--* IND bool | |
[000523] --CXG------- | \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000522] H----------- arg0 | +--* CNS_INT(h) long 0x7ff8fced5500 class | |
[000521] ------------ arg1 | \--* LCL_VAR ref V00 arg0 | |
[000525] ------------ \--* CNS_INT int 0 | |
impImportBlockPending for BB38 | |
impImportBlockPending for BB39 | |
Importing BB39 (PC=465) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 465 (0x1d1) call 060007D7 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00138 (IL 0x1D1... ???) | |
[000528] I-C-G------- * CALL struct Python.Runtime.Runtime.get_PyFalse (exactContextHnd=0x00007FF9001CEA41) | |
[ 1] 470 (0x1d6) ldc.i4.0 0 | |
[ 2] 471 (0x1d7) newobj | |
lvaGrabTemp returning 47 (V47 tmp21) called for NewObj constructor temp. | |
STMT00139 (IL ???... ???) | |
[000533] IA---------- * ASG struct (init) | |
[000531] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V47 tmp21 | |
[000532] ------------ \--* CNS_INT int 0 | |
06000104 | |
In Compiler::impImportCall: opcode is newobj, kind=0, callRetType is void, structSize is 0 | |
Calling impNormStructVal on: | |
[000529] --C--------- * RET_EXPR struct(inl return expr [000528]) | |
lvaGrabTemp returning 48 (V48 tmp22) called for struct address for call/obj. | |
STMT00140 (IL ???... ???) | |
[000539] -AC--------- * ASG struct (copy) | |
[000537] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V48 tmp22 | |
[000529] --C--------- \--* RET_EXPR struct(inl return expr [000528]) | |
resulting tree: | |
[000542] n----------- * OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000541] ------------ \--* ADDR byref | |
[000540] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V48 tmp22 | |
STMT00141 (IL ???... ???) | |
[000536] I-C-G------- * CALL void Python.Runtime.NewReference..ctor (exactContextHnd=0x00007FF9001F4CA9) | |
[000535] ------------ this in rcx +--* ADDR byref | |
[000534] -------N---- | \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V47 tmp21 | |
[000542] n----------- arg1 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000541] ------------ | \--* ADDR byref | |
[000540] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V48 tmp22 | |
[000543] ------------ arg2 \--* PUTARG_TYPE bool | |
[000530] ------------ \--* CNS_INT int 0 | |
[ 1] 476 (0x1dc) ret | |
impFixupStructReturnType: retyping | |
[000544] ------------ * LCL_VAR struct<Python.Runtime.NewReference, 8> V47 tmp21 | |
STMT00142 (IL 0x1DC... ???) | |
[000545] ------------ * RETURN struct | |
[000544] ------------ \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V47 tmp21 | |
Importing BB38 (PC=453) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 453 (0x1c5) call 060007D6 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00143 (IL 0x1C5... ???) | |
[000546] I-C-G------- * CALL struct Python.Runtime.Runtime.get_PyTrue (exactContextHnd=0x00007FF9001CEA41) | |
[ 1] 458 (0x1ca) ldc.i4.0 0 | |
[ 2] 459 (0x1cb) newobj | |
lvaGrabTemp returning 49 (V49 tmp23) called for NewObj constructor temp. | |
STMT00144 (IL ???... ???) | |
[000551] IA---------- * ASG struct (init) | |
[000549] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V49 tmp23 | |
[000550] ------------ \--* CNS_INT int 0 | |
06000104 | |
In Compiler::impImportCall: opcode is newobj, kind=0, callRetType is void, structSize is 0 | |
Calling impNormStructVal on: | |
[000547] --C--------- * RET_EXPR struct(inl return expr [000546]) | |
lvaGrabTemp returning 50 (V50 tmp24) called for struct address for call/obj. | |
STMT00145 (IL ???... ???) | |
[000557] -AC--------- * ASG struct (copy) | |
[000555] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V50 tmp24 | |
[000547] --C--------- \--* RET_EXPR struct(inl return expr [000546]) | |
resulting tree: | |
[000560] n----------- * OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000559] ------------ \--* ADDR byref | |
[000558] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V50 tmp24 | |
STMT00146 (IL ???... ???) | |
[000554] I-C-G------- * CALL void Python.Runtime.NewReference..ctor (exactContextHnd=0x00007FF9001F4CA9) | |
[000553] ------------ this in rcx +--* ADDR byref | |
[000552] -------N---- | \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V49 tmp23 | |
[000560] n----------- arg1 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000559] ------------ | \--* ADDR byref | |
[000558] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V50 tmp24 | |
[000561] ------------ arg2 \--* PUTARG_TYPE bool | |
[000548] ------------ \--* CNS_INT int 0 | |
[ 1] 464 (0x1d0) ret | |
impFixupStructReturnType: retyping | |
[000562] ------------ * LCL_VAR struct<Python.Runtime.NewReference, 8> V49 tmp23 | |
STMT00147 (IL 0x1D0... ???) | |
[000563] ------------ * RETURN struct | |
[000562] ------------ \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V49 tmp23 | |
Importing BB62 (PC=1038) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 1038 (0x40e) ldarg.0 | |
[ 1] 1039 (0x40f) isinst 01000029 | |
Considering optimization of isinst from 00007FF8FCE25908 (System.Object) to 00007FF8FCE2FCE8 (System.Collections.IEnumerable) | |
Can't optimize since fromClass is inexact | |
Expanding isinst as call because inline expansion not legal | |
[ 1] 1044 (0x414) brfalse.s | |
STMT00148 (IL 0x40E... ???) | |
[000569] --C-G------- * JTRUE void | |
[000568] --C-G------- \--* EQ int | |
[000566] --C-G------- +--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFINTERFACE | |
[000565] H------N---- arg0 | +--* CNS_INT(h) long 0x7ff8fce2fce8 class | |
[000564] ------------ arg1 | \--* LCL_VAR ref V00 arg0 | |
[000567] ------------ \--* CNS_INT ref null | |
impImportBlockPending for BB63 | |
impImportBlockPending for BB80 | |
Importing BB80 (PC=1164) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 1164 (0x48c) ldarg.0 | |
[ 1] 1165 (0x48d) ldarg.1 | |
[ 2] 1166 (0x48e) call 060009C8 | |
(Implicit Tail call: prefixFlags |= PREFIX_TAILCALL_IMPLICIT) | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
GTF_CALL_M_IMPLICIT_TAILCALL set for call [000572] | |
STMT00149 (IL 0x48C... ???) | |
[000572] I-C-G------- * CALL struct Python.Runtime.CLRObject.GetReference (exactContextHnd=0x00007FF90278F5B1) | |
[000570] ------------ arg0 +--* LCL_VAR ref V00 arg0 | |
[000571] ------------ arg1 \--* LCL_VAR ref V01 arg1 | |
[ 1] 1171 (0x493) ret | |
impFixupStructReturnType: retyping | |
[000573] --C--------- * RET_EXPR struct(inl return expr [000572]) | |
STMT00150 (IL ???... ???) | |
[000574] --C--------- * RETURN struct | |
[000573] --C--------- \--* RET_EXPR struct(inl return expr [000572]) | |
Importing BB63 (PC=1046) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 1046 (0x416) newobj | |
lvaGrabTemp returning 51 (V51 tmp25) called for NewObj constructor temp. | |
Spilling stack for finalizable newobj | |
STMT00151 (IL 0x416... ???) | |
[000578] -A---------- * ASG ref | |
[000577] D------N---- +--* LCL_VAR ref V51 tmp25 | |
[000576] ------------ \--* ALLOCOBJ ref | |
[000575] H----------- \--* CNS_INT(h) long 0x7ff9014b26a0 method | |
Marked V51 as a single def local | |
lvaSetClass: setting class for V51 to (00007FF9014B26A0) Python.Runtime.PyList [exact] | |
060006CE | |
In Compiler::impImportCall: opcode is newobj, kind=0, callRetType is void, structSize is 0 | |
STMT00152 (IL ???... ???) | |
[000580] I-C-G------- * CALL void Python.Runtime.PyList..ctor (exactContextHnd=0x00007FF9014B26A1) | |
[000579] ------------ this in rcx \--* LCL_VAR ref V51 tmp25 | |
[ 1] 1051 (0x41b) stloc.s 20 | |
lvaUpdateClass: Updating class for V22 from (00007FF9014B26A0) Python.Runtime.PyList to (00007FF9014B26A0) Python.Runtime.PyList [exact] | |
STMT00153 (IL 0x41B... ???) | |
[000583] -A---------- * ASG ref | |
[000582] D------N---- +--* LCL_VAR ref V22 loc20 | |
[000581] ------------ \--* LCL_VAR ref V51 tmp25 | |
impImportBlockPending for BB64 | |
impImportBlockPending for BB77 | |
Importing BB64 (PC=1053) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 1053 (0x41d) ldarg.0 | |
[ 1] 1054 (0x41e) castclass 01000029 | |
Considering optimization of castclass from 00007FF8FCE25908 (System.Object) to 00007FF8FCE2FCE8 (System.Collections.IEnumerable) | |
Can't optimize since fromClass is inexact | |
Expanding castclass as call because inline expansion not legal | |
[ 1] 1059 (0x423) callvirt 0A000013 | |
In Compiler::impImportCall: opcode is callvirt, kind=2, callRetType is ref, structSize is 0 | |
impDevirtualizeCall: Trying to devirtualize interface call: | |
class for 'this' is System.Object (attrib 20000000) | |
base method is System.Collections.IEnumerable::GetEnumerator | |
--- base class is interface | |
--- no derived method: object class could not be cast to interface class | |
Class not final or exact | |
Considering guarded devirtualization at IL offset 1059 (0x423) | |
No likely class, sorry | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'System.Collections.IEnumerable:GetEnumerator():System.Collections.IEnumerator:this' | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' | |
[ 1] 1064 (0x428) stloc.s 21 | |
STMT00154 (IL 0x41D... ???) | |
[000589] -ACXG------- * ASG ref | |
[000588] D------N---- +--* LCL_VAR ref V23 loc21 | |
[000587] --CXG------- \--* CALLV stub ref System.Collections.IEnumerable.GetEnumerator | |
[000586] --CXG------- this in rcx \--* CALL help ref HELPER.CORINFO_HELP_CHKCASTINTERFACE | |
[000585] H------N---- arg0 +--* CNS_INT(h) long 0x7ff8fce2fce8 class | |
[000584] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
impImportBlockPending for BB65 | |
impImportBlockPending for BB73 | |
Importing BB65 (PC=1066) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 1066 (0x42a) br.s | |
impImportBlockPending for BB71 | |
Importing BB71 (PC=1109) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 1109 (0x455) ldloc.s 21 | |
[ 1] 1111 (0x457) callvirt 0A00000E | |
In Compiler::impImportCall: opcode is callvirt, kind=2, callRetType is bool, structSize is 0 | |
impDevirtualizeCall: Trying to devirtualize interface call: | |
class for 'this' is System.Collections.IEnumerator (attrib 00200400) | |
base method is System.Collections.IEnumerator::MoveNext | |
Considering guarded devirtualization at IL offset 1111 (0x457) | |
No likely class, sorry | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'System.Collections.IEnumerator:MoveNext():bool:this' | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' | |
[ 1] 1116 (0x45c) brtrue.s | |
STMT00155 (IL 0x455... ???) | |
[000594] --C-G------- * JTRUE void | |
[000593] --C-G------- \--* NE int | |
[000591] --C-G------- +--* CALLV stub int System.Collections.IEnumerator.MoveNext | |
[000590] ------------ this in rcx | \--* LCL_VAR ref V23 loc21 | |
[000592] ------------ \--* CNS_INT int 0 | |
impImportBlockPending for BB72 | |
impImportBlockPending for BB66 | |
Importing BB66 (PC=1068) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 1068 (0x42c) ldloc.s 21 | |
[ 1] 1070 (0x42e) callvirt 0A000011 | |
In Compiler::impImportCall: opcode is callvirt, kind=2, callRetType is ref, structSize is 0 | |
impDevirtualizeCall: Trying to devirtualize interface call: | |
class for 'this' is System.Collections.IEnumerator (attrib 00200400) | |
base method is System.Collections.IEnumerator::get_Current | |
Considering guarded devirtualization at IL offset 1070 (0x42e) | |
No likely class, sorry | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'System.Collections.IEnumerator:get_Current():System.Object:this' | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' | |
[ 1] 1075 (0x433) stloc.s 22 | |
STMT00156 (IL 0x42C... ???) | |
[000598] -AC-G------- * ASG ref | |
[000597] D------N---- +--* LCL_VAR ref V24 loc22 | |
[000596] --C-G------- \--* CALLV stub ref System.Collections.IEnumerator.get_Current | |
[000595] ------------ this in rcx \--* LCL_VAR ref V23 loc21 | |
[ 0] 1077 (0x435) ldloc.s 22 | |
[ 1] 1079 (0x437) call 06000056 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is ref, structSize is 0 | |
STMT00157 (IL 0x435... ???) | |
[000600] I-C-G------- * CALL ref Python.Runtime.ConverterExtension.ToPython (exactContextHnd=0x00007FF901486E29) | |
[000599] ------------ arg0 \--* LCL_VAR ref V24 loc22 | |
[ 1] 1084 (0x43c) stloc.s 23 | |
STMT00158 (IL ???... ???) | |
[000603] -AC--------- * ASG ref | |
[000602] D------N---- +--* LCL_VAR ref V25 loc23 | |
[000601] --C--------- \--* RET_EXPR ref (inl return expr [000600]) | |
impImportBlockPending for BB67 | |
impImportBlockPending for BB68 | |
Importing BB67 (PC=1086) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 1086 (0x43e) ldloc.s 20 | |
[ 1] 1088 (0x440) ldloc.s 23 | |
[ 2] 1090 (0x442) callvirt 060006D3 | |
In Compiler::impImportCall: opcode is callvirt, kind=0, callRetType is void, structSize is 0 | |
STMT00159 (IL 0x43E... ???) | |
[000606] I-C-G------- * CALL nullcheck void Python.Runtime.PyList.Append (exactContextHnd=0x00007FF9014B26A1) | |
[000604] ------------ this in rcx +--* LCL_VAR ref V22 loc20 | |
[000605] ------------ arg1 \--* LCL_VAR ref V25 loc23 | |
[ 0] 1095 (0x447) leave.s 0455 | |
Before import CEE_LEAVE in BB67 (targetting BB71): | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd cheap preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 43 43 [000..00A)-> BB03 ( cond ) i IBC | |
BB02 [0001] 1 BB01 12 12 [00A..017) (return) IBC | |
BB03 [0002] 1 BB01 31 31 [017..01A)-> BB05 ( cond ) i IBC | |
BB04 [0003] 1 BB03 0 0 [01A..026) (return) rare IBC | |
BB05 [0004] 1 BB03 31 31 [026..039)-> BB25 ( cond ) i IBC | |
BB06 [0005] 1 BB05 0 0 [039..041)-> BB25 ( cond ) rare IBC | |
BB07 [0006] 1 BB06 0 0 [041..049)-> BB25 ( cond ) rare IBC | |
BB08 [0007] 1 BB07 0 0 [049..04F) rare IBC | |
BB09 [0008] 1 2 BB08 0 0 [04F..05C) T2 try { keep try rare IBC | |
BB10 [0009] 1 1 BB09 0 0 [05C..05E)-> BB16 (always) T1 try { keep try rare IBC | |
BB11 [0010] 1 1 BB16 0 0 [05E..070) T1 rare bwd bwd-target IBC | |
BB12 [0011] 1 0 BB11 0 0 [070..07A)-> BB16 (leave ) T0 try { } keep try rare bwd IBC | |
BB13 [0012] 1 1 0 1 [07A..07E)-> BB15 ( cond ) T1 H0 finally { keep bwd | |
BB14 [0013] 1 1 0 BB13 0 0 [07E..085) T1 H0 rare bwd IBC | |
BB15 [0014] 2 1 0 BB14,BB13 0 0 [085..086) (finret) T1 H0 } rare bwd IBC | |
BB16 [0015] 2 1 BB12,BB10 0 0 [086..08F)-> BB11 ( cond ) T1 rare bwd IBC | |
BB17 [0016] 1 1 BB16 0 0 [08F..091)-> BB21 (leave ) T1 } rare IBC | |
BB18 [0017] 1 2 1 1 [091..09E)-> BB20 ( cond ) T2 H1 finally { keep | |
BB19 [0018] 1 2 1 BB18 0 0 [09E..0A5) T2 H1 rare IBC | |
BB20 [0019] 2 2 1 BB19,BB18 0 0 [0A5..0A6) (finret) T2 H1 } rare IBC | |
BB21 [0020] 1 2 BB17 0 0 [0A6..0B3)-> BB81 (leave ) T2 } rare IBC | |
BB22 [0021] 1 2 1 [0B3..0B6)-> BB24 ( cond ) H2 finally { keep | |
BB23 [0022] 1 2 BB22 0 0 [0B6..0BC) H2 rare IBC | |
BB24 [0023] 2 2 BB23,BB22 0 0 [0BC..0BD) (finret) H2 } rare IBC | |
BB25 [0024] 3 BB07,BB06,BB05 31 31 [0BD..0C7)-> BB28 ( cond ) i IBC | |
BB26 [0025] 1 BB25 0 0 [0C7..0D4)-> BB28 ( cond ) rare IBC | |
BB27 [0026] 1 BB26 0 0 [0D4..0DB) (return) rare IBC | |
BB28 [0027] 2 BB26,BB25 31 31 [0DB..132)-> BB30[dom(0.5806451)],BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB62,BB35,BB29[def] (switch) i IBC | |
BB29 [0028] 1 BB28 0 0 [132..137)-> BB62 (always) i rare IBC | |
BB30 [0029] 1 BB28 18 18 [137..13F)-> BB34 ( cond ) IBC | |
BB31 [0030] 1 BB30 0 0 [13F..150) rare IBC | |
BB32 [0031] 1 3 BB31 0 0 [150..195)-> BB81 (leave ) T3 try { } keep try rare IBC | |
BB33 [0032] 1 3 1 [195..19D) (finret) H3 finally { } keep | |
BB34 [0033] 1 BB30 18 18 [19D..1A5) (return) IBC | |
BB35 [0034] 1 BB28 0 0 [1A5..1B1) (return) i rare IBC | |
BB36 [0035] 1 BB28 13 13 [1B1..1BD) (return) i IBC | |
BB37 [0036] 1 BB28 0 0 [1BD..1C5)-> BB39 ( cond ) i rare IBC | |
BB38 [0037] 1 BB37 0 0 [1C5..1D1) (return) i rare IBC | |
BB39 [0038] 1 BB37 0 0 [1D1..1DD) (return) i rare IBC | |
BB40 [0039] 1 BB28 0 0 [1DD..1E9) (return) i rare IBC | |
BB41 [0040] 1 BB28 0 0 [1E9..1F5) (return) i rare IBC | |
BB42 [0041] 1 BB28 0 0 [1F5..201) (return) i rare IBC | |
BB43 [0042] 1 BB28 0 0 [201..20D) (return) i rare IBC | |
BB44 [0043] 1 BB28 0 0 [20D..21A) (return) i rare IBC | |
BB45 [0044] 1 BB28 0 0 [21A..226) (return) i rare IBC | |
BB46 [0045] 1 BB28 0 0 [226..232) (return) i rare IBC | |
BB47 [0046] 1 BB28 0 0 [232..23E) (return) i rare IBC | |
BB48 [0047] 1 BB28 0 0 [23E..24B) (return) i rare IBC | |
BB49 [0048] 1 BB28 0 0 [24B..257) (return) i rare IBC | |
BB50 [0049] 1 BB28 0 0 [257..268) (return) i rare IBC | |
BB51 [0050] 1 BB28 0 0 [268..279)-> BB53 ( cond ) i rare IBC | |
BB52 [0051] 1 BB51 0 0 [279..27C)-> BB54 (always) i rare IBC | |
BB53 [0052] 1 BB51 0 0 [27C..27D) i rare IBC | |
BB54 [0053] 2 BB53,BB52 0 0 [27D..288)-> BB56 ( cond ) i rare IBC | |
BB55 [0054] 1 BB54 0 0 [288..28F)-> BB57 (always) i rare IBC | |
BB56 [0055] 1 BB54 0 0 [28F..294) i rare IBC | |
BB57 [0056] 2 BB56,BB55 0 0 [294..3A4)-> BB59 ( cond ) i rare IBC | |
BB58 [0057] 1 BB57 0 0 [3A4..3AB) i rare IBC | |
BB59 [0058] 2 BB58,BB57 0 0 [3AB..3CF)-> BB61 ( cond ) i rare IBC | |
BB60 [0059] 1 BB59 0 0 [3CF..3F3) i rare IBC | |
BB61 [0060] 2 BB60,BB59 0 0 [3F3..40E) (return) i rare IBC | |
BB62 [0061] 3 BB29,BB28,BB28 0 0 [40E..416)-> BB80 ( cond ) i rare IBC | |
BB63 [0062] 1 BB62 0 0 [416..41D) i rare newobj IBC | |
BB64 [0063] 1 6 BB63 0 0 [41D..42A) T6 try { keep i try rare IBC | |
BB65 [0064] 1 5 BB64 0 0 [42A..42C)-> BB71 (always) T5 try { keep i try rare IBC | |
BB66 [0065] 1 5 BB71 0 0 [42C..43E) T5 i rare bwd bwd-target IBC | |
BB67 [0066] 1 4 BB66 0 0 [43E..449)-> BB71 (leave ) T4 try { } keep try rare bwd IBC | |
BB68 [0067] 1 5 4 1 [449..44D)-> BB70 ( cond ) T5 H4 finally { keep bwd | |
BB69 [0068] 1 5 4 BB68 0 0 [44D..454) T5 H4 rare bwd IBC | |
BB70 [0069] 2 5 4 BB69,BB68 0 0 [454..455) (finret) T5 H4 } rare bwd IBC | |
BB71 [0070] 2 5 BB67,BB65 0 0 [455..45E)-> BB66 ( cond ) T5 i rare bwd IBC | |
BB72 [0071] 1 5 BB71 0 0 [45E..460)-> BB76 (leave ) T5 } rare IBC | |
BB73 [0072] 1 6 5 1 [460..46D)-> BB75 ( cond ) T6 H5 finally { keep | |
BB74 [0073] 1 6 5 BB73 0 0 [46D..474) T6 H5 rare IBC | |
BB75 [0074] 2 6 5 BB74,BB73 0 0 [474..475) (finret) T6 H5 } rare IBC | |
BB76 [0075] 1 6 BB72 0 0 [475..480)-> BB81 (leave ) T6 } rare IBC | |
BB77 [0076] 1 6 1 [480..484)-> BB79 ( cond ) H6 finally { keep | |
BB78 [0077] 1 6 BB77 0 0 [484..48B) H6 rare IBC | |
BB79 [0078] 2 6 BB78,BB77 0 0 [48B..48C) (finret) H6 } rare IBC | |
BB80 [0079] 1 BB62 0 0 [48C..494) (return) i rare IBC | |
BB81 [0080] 3 BB76,BB32,BB21 0 0 [494..497) (return) rare IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table | |
index eTry, eHnd | |
0 :: 1 - Try at BB12..BB12 [070..07A), Finally at BB13..BB15 [07A..086) | |
1 :: 2 - Try at BB10..BB17 [05C..091), Finally at BB18..BB20 [091..0A6) | |
2 :: - Try at BB09..BB21 [04F..0B3), Finally at BB22..BB24 [0B3..0BD) | |
3 :: - Try at BB32..BB32 [150..195), Finally at BB33..BB33 [195..19D) | |
4 :: 5 - Try at BB67..BB67 [43E..449), Finally at BB68..BB70 [449..455) | |
5 :: 6 - Try at BB65..BB72 [42A..460), Finally at BB73..BB75 [460..475) | |
6 :: - Try at BB64..BB76 [41D..480), Finally at BB77..BB79 [480..48C) | |
fgFindInsertPoint(regionIndex=6, putInTryRegion=true, startBlk=BB65, endBlk=BB73, nearBlk=BB67, jumpBlk=BB00, runRarely=false) | |
fgNewBBinRegion(jumpKind=8, tryIndex=6, hndIndex=0, putInFilter=false, runRarely=false, insertAtEnd=false): inserting after BB67 | |
New Basic Block BB82 [0081] created. | |
impImportLeave - jumping out of a finally-protected try (EH#4), convert block BB67 to BBJ_ALWAYS, add BBJ_CALLFINALLY block BB82 | |
New Basic Block BB83 [0082] created. | |
impImportLeave - jumping out of a finally-protected try (EH#4), created step (BBJ_ALWAYS) block BB83 | |
impImportLeave - final destination of step blocks set to BB71 | |
impImportBlockPending for BB71 | |
After import CEE_LEAVE: | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd cheap preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 43 43 [000..00A)-> BB03 ( cond ) i IBC | |
BB02 [0001] 1 BB01 12 12 [00A..017) (return) IBC | |
BB03 [0002] 1 BB01 31 31 [017..01A)-> BB05 ( cond ) i IBC | |
BB04 [0003] 1 BB03 0 0 [01A..026) (return) rare IBC | |
BB05 [0004] 1 BB03 31 31 [026..039)-> BB25 ( cond ) i IBC | |
BB06 [0005] 1 BB05 0 0 [039..041)-> BB25 ( cond ) rare IBC | |
BB07 [0006] 1 BB06 0 0 [041..049)-> BB25 ( cond ) rare IBC | |
BB08 [0007] 1 BB07 0 0 [049..04F) rare IBC | |
BB09 [0008] 1 2 BB08 0 0 [04F..05C) T2 try { keep try rare IBC | |
BB10 [0009] 1 1 BB09 0 0 [05C..05E)-> BB16 (always) T1 try { keep try rare IBC | |
BB11 [0010] 1 1 BB16 0 0 [05E..070) T1 rare bwd bwd-target IBC | |
BB12 [0011] 1 0 BB11 0 0 [070..07A)-> BB16 (leave ) T0 try { } keep try rare bwd IBC | |
BB13 [0012] 1 1 0 1 [07A..07E)-> BB15 ( cond ) T1 H0 finally { keep bwd | |
BB14 [0013] 1 1 0 BB13 0 0 [07E..085) T1 H0 rare bwd IBC | |
BB15 [0014] 2 1 0 BB14,BB13 0 0 [085..086) (finret) T1 H0 } rare bwd IBC | |
BB16 [0015] 2 1 BB12,BB10 0 0 [086..08F)-> BB11 ( cond ) T1 rare bwd IBC | |
BB17 [0016] 1 1 BB16 0 0 [08F..091)-> BB21 (leave ) T1 } rare IBC | |
BB18 [0017] 1 2 1 1 [091..09E)-> BB20 ( cond ) T2 H1 finally { keep | |
BB19 [0018] 1 2 1 BB18 0 0 [09E..0A5) T2 H1 rare IBC | |
BB20 [0019] 2 2 1 BB19,BB18 0 0 [0A5..0A6) (finret) T2 H1 } rare IBC | |
BB21 [0020] 1 2 BB17 0 0 [0A6..0B3)-> BB81 (leave ) T2 } rare IBC | |
BB22 [0021] 1 2 1 [0B3..0B6)-> BB24 ( cond ) H2 finally { keep | |
BB23 [0022] 1 2 BB22 0 0 [0B6..0BC) H2 rare IBC | |
BB24 [0023] 2 2 BB23,BB22 0 0 [0BC..0BD) (finret) H2 } rare IBC | |
BB25 [0024] 3 BB07,BB06,BB05 31 31 [0BD..0C7)-> BB28 ( cond ) i IBC | |
BB26 [0025] 1 BB25 0 0 [0C7..0D4)-> BB28 ( cond ) rare IBC | |
BB27 [0026] 1 BB26 0 0 [0D4..0DB) (return) rare IBC | |
BB28 [0027] 2 BB26,BB25 31 31 [0DB..132)-> BB30[dom(0.5806451)],BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB62,BB35,BB29[def] (switch) i IBC | |
BB29 [0028] 1 BB28 0 0 [132..137)-> BB62 (always) i rare IBC | |
BB30 [0029] 1 BB28 18 18 [137..13F)-> BB34 ( cond ) IBC | |
BB31 [0030] 1 BB30 0 0 [13F..150) rare IBC | |
BB32 [0031] 1 3 BB31 0 0 [150..195)-> BB81 (leave ) T3 try { } keep try rare IBC | |
BB33 [0032] 1 3 1 [195..19D) (finret) H3 finally { } keep | |
BB34 [0033] 1 BB30 18 18 [19D..1A5) (return) IBC | |
BB35 [0034] 1 BB28 0 0 [1A5..1B1) (return) i rare IBC | |
BB36 [0035] 1 BB28 13 13 [1B1..1BD) (return) i IBC | |
BB37 [0036] 1 BB28 0 0 [1BD..1C5)-> BB39 ( cond ) i rare IBC | |
BB38 [0037] 1 BB37 0 0 [1C5..1D1) (return) i rare IBC | |
BB39 [0038] 1 BB37 0 0 [1D1..1DD) (return) i rare IBC | |
BB40 [0039] 1 BB28 0 0 [1DD..1E9) (return) i rare IBC | |
BB41 [0040] 1 BB28 0 0 [1E9..1F5) (return) i rare IBC | |
BB42 [0041] 1 BB28 0 0 [1F5..201) (return) i rare IBC | |
BB43 [0042] 1 BB28 0 0 [201..20D) (return) i rare IBC | |
BB44 [0043] 1 BB28 0 0 [20D..21A) (return) i rare IBC | |
BB45 [0044] 1 BB28 0 0 [21A..226) (return) i rare IBC | |
BB46 [0045] 1 BB28 0 0 [226..232) (return) i rare IBC | |
BB47 [0046] 1 BB28 0 0 [232..23E) (return) i rare IBC | |
BB48 [0047] 1 BB28 0 0 [23E..24B) (return) i rare IBC | |
BB49 [0048] 1 BB28 0 0 [24B..257) (return) i rare IBC | |
BB50 [0049] 1 BB28 0 0 [257..268) (return) i rare IBC | |
BB51 [0050] 1 BB28 0 0 [268..279)-> BB53 ( cond ) i rare IBC | |
BB52 [0051] 1 BB51 0 0 [279..27C)-> BB54 (always) i rare IBC | |
BB53 [0052] 1 BB51 0 0 [27C..27D) i rare IBC | |
BB54 [0053] 2 BB53,BB52 0 0 [27D..288)-> BB56 ( cond ) i rare IBC | |
BB55 [0054] 1 BB54 0 0 [288..28F)-> BB57 (always) i rare IBC | |
BB56 [0055] 1 BB54 0 0 [28F..294) i rare IBC | |
BB57 [0056] 2 BB56,BB55 0 0 [294..3A4)-> BB59 ( cond ) i rare IBC | |
BB58 [0057] 1 BB57 0 0 [3A4..3AB) i rare IBC | |
BB59 [0058] 2 BB58,BB57 0 0 [3AB..3CF)-> BB61 ( cond ) i rare IBC | |
BB60 [0059] 1 BB59 0 0 [3CF..3F3) i rare IBC | |
BB61 [0060] 2 BB60,BB59 0 0 [3F3..40E) (return) i rare IBC | |
BB62 [0061] 3 BB29,BB28,BB28 0 0 [40E..416)-> BB80 ( cond ) i rare IBC | |
BB63 [0062] 1 BB62 0 0 [416..41D) i rare newobj IBC | |
BB64 [0063] 1 6 BB63 0 0 [41D..42A) T6 try { keep i try rare IBC | |
BB65 [0064] 1 5 BB64 0 0 [42A..42C)-> BB71 (always) T5 try { keep i try rare IBC | |
BB66 [0065] 1 5 BB71 0 0 [42C..43E) T5 i rare bwd bwd-target IBC | |
BB67 [0066] 1 4 BB66 0 0 [43E..449)-> BB82 (always) T4 try { } keep try rare bwd IBC | |
BB82 [0081] 1 5 0 0 [???..???)-> BB68 (callf ) T5 i internal rare IBC | |
BB83 [0082] 0 5 0 0 [???..???)-> BB71 (ALWAYS) T5 i internal rare IBC KEEP | |
BB68 [0067] 1 5 4 1 [449..44D)-> BB70 ( cond ) T5 H4 finally { keep bwd | |
BB69 [0068] 1 5 4 BB68 0 0 [44D..454) T5 H4 rare bwd IBC | |
BB70 [0069] 2 5 4 BB69,BB68 0 0 [454..455) (finret) T5 H4 } rare bwd IBC | |
BB71 [0070] 2 5 BB67,BB65 0 0 [455..45E)-> BB66 ( cond ) T5 i rare bwd IBC | |
BB72 [0071] 1 5 BB71 0 0 [45E..460)-> BB76 (leave ) T5 } rare IBC | |
BB73 [0072] 1 6 5 1 [460..46D)-> BB75 ( cond ) T6 H5 finally { keep | |
BB74 [0073] 1 6 5 BB73 0 0 [46D..474) T6 H5 rare IBC | |
BB75 [0074] 2 6 5 BB74,BB73 0 0 [474..475) (finret) T6 H5 } rare IBC | |
BB76 [0075] 1 6 BB72 0 0 [475..480)-> BB81 (leave ) T6 } rare IBC | |
BB77 [0076] 1 6 1 [480..484)-> BB79 ( cond ) H6 finally { keep | |
BB78 [0077] 1 6 BB77 0 0 [484..48B) H6 rare IBC | |
BB79 [0078] 2 6 BB78,BB77 0 0 [48B..48C) (finret) H6 } rare IBC | |
BB80 [0079] 1 BB62 0 0 [48C..494) (return) i rare IBC | |
BB81 [0080] 3 BB76,BB32,BB21 0 0 [494..497) (return) rare IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table | |
index eTry, eHnd | |
0 :: 1 - Try at BB12..BB12 [070..07A), Finally at BB13..BB15 [07A..086) | |
1 :: 2 - Try at BB10..BB17 [05C..091), Finally at BB18..BB20 [091..0A6) | |
2 :: - Try at BB09..BB21 [04F..0B3), Finally at BB22..BB24 [0B3..0BD) | |
3 :: - Try at BB32..BB32 [150..195), Finally at BB33..BB33 [195..19D) | |
4 :: 5 - Try at BB67..BB67 [43E..449), Finally at BB68..BB70 [449..455) | |
5 :: 6 - Try at BB65..BB72 [42A..460), Finally at BB73..BB75 [460..475) | |
6 :: - Try at BB64..BB76 [41D..480), Finally at BB77..BB79 [480..48C) | |
impImportBlockPending for BB82 | |
Importing BB68 (PC=1097) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 1097 (0x449) ldloc.s 23 | |
[ 1] 1099 (0x44b) brfalse.s | |
STMT00160 (IL 0x449... ???) | |
[000610] ------------ * JTRUE void | |
[000609] ------------ \--* EQ int | |
[000607] ------------ +--* LCL_VAR ref V25 loc23 | |
[000608] ------------ \--* CNS_INT ref null | |
impImportBlockPending for BB69 | |
impImportBlockPending for BB70 | |
Importing BB70 (PC=1108) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 1108 (0x454) endfinally | |
STMT00161 (IL 0x454... ???) | |
[000611] ------------ * RETFILT void | |
Importing BB69 (PC=1101) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 1101 (0x44d) ldloc.s 23 | |
[ 1] 1103 (0x44f) callvirt 0A00000D | |
In Compiler::impImportCall: opcode is callvirt, kind=2, callRetType is void, structSize is 0 | |
impDevirtualizeCall: Trying to devirtualize interface call: | |
class for 'this' is Python.Runtime.PyObject (attrib 20000000) | |
base method is System.IDisposable::Dispose | |
--- base class is interface | |
devirt to Python.Runtime.PyObject::Dispose -- final method | |
[000613] --C-G------- * CALLV stub void System.IDisposable.Dispose | |
[000612] ------------ this in rcx \--* LCL_VAR ref V25 loc23 | |
Class not final or exact | |
Considering guarded devirtualization at IL offset 1103 (0x44f) | |
No likely class, sorry | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'System.IDisposable:Dispose():this' | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' | |
STMT00162 (IL 0x44D... ???) | |
[000613] --C-G------- * CALLV stub void System.IDisposable.Dispose | |
[000612] ------------ this in rcx \--* LCL_VAR ref V25 loc23 | |
impImportBlockPending for BB70 | |
Importing BB72 (PC=1118) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 1118 (0x45e) leave.s 0475 | |
Before import CEE_LEAVE in BB72 (targetting BB76): | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd cheap preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 43 43 [000..00A)-> BB03 ( cond ) i IBC | |
BB02 [0001] 1 BB01 12 12 [00A..017) (return) IBC | |
BB03 [0002] 1 BB01 31 31 [017..01A)-> BB05 ( cond ) i IBC | |
BB04 [0003] 1 BB03 0 0 [01A..026) (return) rare IBC | |
BB05 [0004] 1 BB03 31 31 [026..039)-> BB25 ( cond ) i IBC | |
BB06 [0005] 1 BB05 0 0 [039..041)-> BB25 ( cond ) rare IBC | |
BB07 [0006] 1 BB06 0 0 [041..049)-> BB25 ( cond ) rare IBC | |
BB08 [0007] 1 BB07 0 0 [049..04F) rare IBC | |
BB09 [0008] 1 2 BB08 0 0 [04F..05C) T2 try { keep try rare IBC | |
BB10 [0009] 1 1 BB09 0 0 [05C..05E)-> BB16 (always) T1 try { keep try rare IBC | |
BB11 [0010] 1 1 BB16 0 0 [05E..070) T1 rare bwd bwd-target IBC | |
BB12 [0011] 1 0 BB11 0 0 [070..07A)-> BB16 (leave ) T0 try { } keep try rare bwd IBC | |
BB13 [0012] 1 1 0 1 [07A..07E)-> BB15 ( cond ) T1 H0 finally { keep bwd | |
BB14 [0013] 1 1 0 BB13 0 0 [07E..085) T1 H0 rare bwd IBC | |
BB15 [0014] 2 1 0 BB14,BB13 0 0 [085..086) (finret) T1 H0 } rare bwd IBC | |
BB16 [0015] 2 1 BB12,BB10 0 0 [086..08F)-> BB11 ( cond ) T1 rare bwd IBC | |
BB17 [0016] 1 1 BB16 0 0 [08F..091)-> BB21 (leave ) T1 } rare IBC | |
BB18 [0017] 1 2 1 1 [091..09E)-> BB20 ( cond ) T2 H1 finally { keep | |
BB19 [0018] 1 2 1 BB18 0 0 [09E..0A5) T2 H1 rare IBC | |
BB20 [0019] 2 2 1 BB19,BB18 0 0 [0A5..0A6) (finret) T2 H1 } rare IBC | |
BB21 [0020] 1 2 BB17 0 0 [0A6..0B3)-> BB81 (leave ) T2 } rare IBC | |
BB22 [0021] 1 2 1 [0B3..0B6)-> BB24 ( cond ) H2 finally { keep | |
BB23 [0022] 1 2 BB22 0 0 [0B6..0BC) H2 rare IBC | |
BB24 [0023] 2 2 BB23,BB22 0 0 [0BC..0BD) (finret) H2 } rare IBC | |
BB25 [0024] 3 BB07,BB06,BB05 31 31 [0BD..0C7)-> BB28 ( cond ) i IBC | |
BB26 [0025] 1 BB25 0 0 [0C7..0D4)-> BB28 ( cond ) rare IBC | |
BB27 [0026] 1 BB26 0 0 [0D4..0DB) (return) rare IBC | |
BB28 [0027] 2 BB26,BB25 31 31 [0DB..132)-> BB30[dom(0.5806451)],BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB62,BB35,BB29[def] (switch) i IBC | |
BB29 [0028] 1 BB28 0 0 [132..137)-> BB62 (always) i rare IBC | |
BB30 [0029] 1 BB28 18 18 [137..13F)-> BB34 ( cond ) IBC | |
BB31 [0030] 1 BB30 0 0 [13F..150) rare IBC | |
BB32 [0031] 1 3 BB31 0 0 [150..195)-> BB81 (leave ) T3 try { } keep try rare IBC | |
BB33 [0032] 1 3 1 [195..19D) (finret) H3 finally { } keep | |
BB34 [0033] 1 BB30 18 18 [19D..1A5) (return) IBC | |
BB35 [0034] 1 BB28 0 0 [1A5..1B1) (return) i rare IBC | |
BB36 [0035] 1 BB28 13 13 [1B1..1BD) (return) i IBC | |
BB37 [0036] 1 BB28 0 0 [1BD..1C5)-> BB39 ( cond ) i rare IBC | |
BB38 [0037] 1 BB37 0 0 [1C5..1D1) (return) i rare IBC | |
BB39 [0038] 1 BB37 0 0 [1D1..1DD) (return) i rare IBC | |
BB40 [0039] 1 BB28 0 0 [1DD..1E9) (return) i rare IBC | |
BB41 [0040] 1 BB28 0 0 [1E9..1F5) (return) i rare IBC | |
BB42 [0041] 1 BB28 0 0 [1F5..201) (return) i rare IBC | |
BB43 [0042] 1 BB28 0 0 [201..20D) (return) i rare IBC | |
BB44 [0043] 1 BB28 0 0 [20D..21A) (return) i rare IBC | |
BB45 [0044] 1 BB28 0 0 [21A..226) (return) i rare IBC | |
BB46 [0045] 1 BB28 0 0 [226..232) (return) i rare IBC | |
BB47 [0046] 1 BB28 0 0 [232..23E) (return) i rare IBC | |
BB48 [0047] 1 BB28 0 0 [23E..24B) (return) i rare IBC | |
BB49 [0048] 1 BB28 0 0 [24B..257) (return) i rare IBC | |
BB50 [0049] 1 BB28 0 0 [257..268) (return) i rare IBC | |
BB51 [0050] 1 BB28 0 0 [268..279)-> BB53 ( cond ) i rare IBC | |
BB52 [0051] 1 BB51 0 0 [279..27C)-> BB54 (always) i rare IBC | |
BB53 [0052] 1 BB51 0 0 [27C..27D) i rare IBC | |
BB54 [0053] 2 BB53,BB52 0 0 [27D..288)-> BB56 ( cond ) i rare IBC | |
BB55 [0054] 1 BB54 0 0 [288..28F)-> BB57 (always) i rare IBC | |
BB56 [0055] 1 BB54 0 0 [28F..294) i rare IBC | |
BB57 [0056] 2 BB56,BB55 0 0 [294..3A4)-> BB59 ( cond ) i rare IBC | |
BB58 [0057] 1 BB57 0 0 [3A4..3AB) i rare IBC | |
BB59 [0058] 2 BB58,BB57 0 0 [3AB..3CF)-> BB61 ( cond ) i rare IBC | |
BB60 [0059] 1 BB59 0 0 [3CF..3F3) i rare IBC | |
BB61 [0060] 2 BB60,BB59 0 0 [3F3..40E) (return) i rare IBC | |
BB62 [0061] 3 BB29,BB28,BB28 0 0 [40E..416)-> BB80 ( cond ) i rare IBC | |
BB63 [0062] 1 BB62 0 0 [416..41D) i rare newobj IBC | |
BB64 [0063] 1 6 BB63 0 0 [41D..42A) T6 try { keep i try rare IBC | |
BB65 [0064] 1 5 BB64 0 0 [42A..42C)-> BB71 (always) T5 try { keep i try rare IBC | |
BB66 [0065] 1 5 BB71 0 0 [42C..43E) T5 i rare bwd bwd-target IBC | |
BB67 [0066] 1 4 BB66 0 0 [43E..449)-> BB82 (always) T4 try { } keep i try rare bwd IBC | |
BB82 [0081] 1 5 0 0 [???..???)-> BB68 (callf ) T5 i internal rare IBC | |
BB83 [0082] 0 5 0 0 [???..???)-> BB71 (ALWAYS) T5 i internal rare IBC KEEP | |
BB68 [0067] 1 5 4 1 [449..44D)-> BB70 ( cond ) T5 H4 finally { keep i bwd | |
BB69 [0068] 1 5 4 BB68 0 0 [44D..454) T5 H4 i rare bwd IBC | |
BB70 [0069] 2 5 4 BB69,BB68 0 0 [454..455) (finret) T5 H4 } i rare bwd IBC | |
BB71 [0070] 2 5 BB67,BB65 0 0 [455..45E)-> BB66 ( cond ) T5 i rare bwd IBC | |
BB72 [0071] 1 5 BB71 0 0 [45E..460)-> BB76 (leave ) T5 } rare IBC | |
BB73 [0072] 1 6 5 1 [460..46D)-> BB75 ( cond ) T6 H5 finally { keep | |
BB74 [0073] 1 6 5 BB73 0 0 [46D..474) T6 H5 rare IBC | |
BB75 [0074] 2 6 5 BB74,BB73 0 0 [474..475) (finret) T6 H5 } rare IBC | |
BB76 [0075] 1 6 BB72 0 0 [475..480)-> BB81 (leave ) T6 } rare IBC | |
BB77 [0076] 1 6 1 [480..484)-> BB79 ( cond ) H6 finally { keep | |
BB78 [0077] 1 6 BB77 0 0 [484..48B) H6 rare IBC | |
BB79 [0078] 2 6 BB78,BB77 0 0 [48B..48C) (finret) H6 } rare IBC | |
BB80 [0079] 1 BB62 0 0 [48C..494) (return) i rare IBC | |
BB81 [0080] 3 BB76,BB32,BB21 0 0 [494..497) (return) rare IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table | |
index eTry, eHnd | |
0 :: 1 - Try at BB12..BB12 [070..07A), Finally at BB13..BB15 [07A..086) | |
1 :: 2 - Try at BB10..BB17 [05C..091), Finally at BB18..BB20 [091..0A6) | |
2 :: - Try at BB09..BB21 [04F..0B3), Finally at BB22..BB24 [0B3..0BD) | |
3 :: - Try at BB32..BB32 [150..195), Finally at BB33..BB33 [195..19D) | |
4 :: 5 - Try at BB67..BB67 [43E..449), Finally at BB68..BB70 [449..455) | |
5 :: 6 - Try at BB65..BB72 [42A..460), Finally at BB73..BB75 [460..475) | |
6 :: - Try at BB64..BB76 [41D..480), Finally at BB77..BB79 [480..48C) | |
fgFindInsertPoint(regionIndex=7, putInTryRegion=true, startBlk=BB64, endBlk=BB77, nearBlk=BB72, jumpBlk=BB00, runRarely=false) | |
fgNewBBinRegion(jumpKind=8, tryIndex=7, hndIndex=0, putInFilter=false, runRarely=false, insertAtEnd=false): inserting after BB72 | |
New Basic Block BB84 [0083] created. | |
impImportLeave - jumping out of a finally-protected try (EH#5), convert block BB72 to BBJ_ALWAYS, add BBJ_CALLFINALLY block BB84 | |
New Basic Block BB85 [0084] created. | |
impImportLeave - jumping out of a finally-protected try (EH#5), created step (BBJ_ALWAYS) block BB85 | |
impImportLeave - final destination of step blocks set to BB76 | |
impImportBlockPending for BB76 | |
After import CEE_LEAVE: | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd cheap preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 43 43 [000..00A)-> BB03 ( cond ) i IBC | |
BB02 [0001] 1 BB01 12 12 [00A..017) (return) IBC | |
BB03 [0002] 1 BB01 31 31 [017..01A)-> BB05 ( cond ) i IBC | |
BB04 [0003] 1 BB03 0 0 [01A..026) (return) rare IBC | |
BB05 [0004] 1 BB03 31 31 [026..039)-> BB25 ( cond ) i IBC | |
BB06 [0005] 1 BB05 0 0 [039..041)-> BB25 ( cond ) rare IBC | |
BB07 [0006] 1 BB06 0 0 [041..049)-> BB25 ( cond ) rare IBC | |
BB08 [0007] 1 BB07 0 0 [049..04F) rare IBC | |
BB09 [0008] 1 2 BB08 0 0 [04F..05C) T2 try { keep try rare IBC | |
BB10 [0009] 1 1 BB09 0 0 [05C..05E)-> BB16 (always) T1 try { keep try rare IBC | |
BB11 [0010] 1 1 BB16 0 0 [05E..070) T1 rare bwd bwd-target IBC | |
BB12 [0011] 1 0 BB11 0 0 [070..07A)-> BB16 (leave ) T0 try { } keep try rare bwd IBC | |
BB13 [0012] 1 1 0 1 [07A..07E)-> BB15 ( cond ) T1 H0 finally { keep bwd | |
BB14 [0013] 1 1 0 BB13 0 0 [07E..085) T1 H0 rare bwd IBC | |
BB15 [0014] 2 1 0 BB14,BB13 0 0 [085..086) (finret) T1 H0 } rare bwd IBC | |
BB16 [0015] 2 1 BB12,BB10 0 0 [086..08F)-> BB11 ( cond ) T1 rare bwd IBC | |
BB17 [0016] 1 1 BB16 0 0 [08F..091)-> BB21 (leave ) T1 } rare IBC | |
BB18 [0017] 1 2 1 1 [091..09E)-> BB20 ( cond ) T2 H1 finally { keep | |
BB19 [0018] 1 2 1 BB18 0 0 [09E..0A5) T2 H1 rare IBC | |
BB20 [0019] 2 2 1 BB19,BB18 0 0 [0A5..0A6) (finret) T2 H1 } rare IBC | |
BB21 [0020] 1 2 BB17 0 0 [0A6..0B3)-> BB81 (leave ) T2 } rare IBC | |
BB22 [0021] 1 2 1 [0B3..0B6)-> BB24 ( cond ) H2 finally { keep | |
BB23 [0022] 1 2 BB22 0 0 [0B6..0BC) H2 rare IBC | |
BB24 [0023] 2 2 BB23,BB22 0 0 [0BC..0BD) (finret) H2 } rare IBC | |
BB25 [0024] 3 BB07,BB06,BB05 31 31 [0BD..0C7)-> BB28 ( cond ) i IBC | |
BB26 [0025] 1 BB25 0 0 [0C7..0D4)-> BB28 ( cond ) rare IBC | |
BB27 [0026] 1 BB26 0 0 [0D4..0DB) (return) rare IBC | |
BB28 [0027] 2 BB26,BB25 31 31 [0DB..132)-> BB30[dom(0.5806451)],BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB62,BB35,BB29[def] (switch) i IBC | |
BB29 [0028] 1 BB28 0 0 [132..137)-> BB62 (always) i rare IBC | |
BB30 [0029] 1 BB28 18 18 [137..13F)-> BB34 ( cond ) IBC | |
BB31 [0030] 1 BB30 0 0 [13F..150) rare IBC | |
BB32 [0031] 1 3 BB31 0 0 [150..195)-> BB81 (leave ) T3 try { } keep try rare IBC | |
BB33 [0032] 1 3 1 [195..19D) (finret) H3 finally { } keep | |
BB34 [0033] 1 BB30 18 18 [19D..1A5) (return) IBC | |
BB35 [0034] 1 BB28 0 0 [1A5..1B1) (return) i rare IBC | |
BB36 [0035] 1 BB28 13 13 [1B1..1BD) (return) i IBC | |
BB37 [0036] 1 BB28 0 0 [1BD..1C5)-> BB39 ( cond ) i rare IBC | |
BB38 [0037] 1 BB37 0 0 [1C5..1D1) (return) i rare IBC | |
BB39 [0038] 1 BB37 0 0 [1D1..1DD) (return) i rare IBC | |
BB40 [0039] 1 BB28 0 0 [1DD..1E9) (return) i rare IBC | |
BB41 [0040] 1 BB28 0 0 [1E9..1F5) (return) i rare IBC | |
BB42 [0041] 1 BB28 0 0 [1F5..201) (return) i rare IBC | |
BB43 [0042] 1 BB28 0 0 [201..20D) (return) i rare IBC | |
BB44 [0043] 1 BB28 0 0 [20D..21A) (return) i rare IBC | |
BB45 [0044] 1 BB28 0 0 [21A..226) (return) i rare IBC | |
BB46 [0045] 1 BB28 0 0 [226..232) (return) i rare IBC | |
BB47 [0046] 1 BB28 0 0 [232..23E) (return) i rare IBC | |
BB48 [0047] 1 BB28 0 0 [23E..24B) (return) i rare IBC | |
BB49 [0048] 1 BB28 0 0 [24B..257) (return) i rare IBC | |
BB50 [0049] 1 BB28 0 0 [257..268) (return) i rare IBC | |
BB51 [0050] 1 BB28 0 0 [268..279)-> BB53 ( cond ) i rare IBC | |
BB52 [0051] 1 BB51 0 0 [279..27C)-> BB54 (always) i rare IBC | |
BB53 [0052] 1 BB51 0 0 [27C..27D) i rare IBC | |
BB54 [0053] 2 BB53,BB52 0 0 [27D..288)-> BB56 ( cond ) i rare IBC | |
BB55 [0054] 1 BB54 0 0 [288..28F)-> BB57 (always) i rare IBC | |
BB56 [0055] 1 BB54 0 0 [28F..294) i rare IBC | |
BB57 [0056] 2 BB56,BB55 0 0 [294..3A4)-> BB59 ( cond ) i rare IBC | |
BB58 [0057] 1 BB57 0 0 [3A4..3AB) i rare IBC | |
BB59 [0058] 2 BB58,BB57 0 0 [3AB..3CF)-> BB61 ( cond ) i rare IBC | |
BB60 [0059] 1 BB59 0 0 [3CF..3F3) i rare IBC | |
BB61 [0060] 2 BB60,BB59 0 0 [3F3..40E) (return) i rare IBC | |
BB62 [0061] 3 BB29,BB28,BB28 0 0 [40E..416)-> BB80 ( cond ) i rare IBC | |
BB63 [0062] 1 BB62 0 0 [416..41D) i rare newobj IBC | |
BB64 [0063] 1 6 BB63 0 0 [41D..42A) T6 try { keep i try rare IBC | |
BB65 [0064] 1 5 BB64 0 0 [42A..42C)-> BB71 (always) T5 try { keep i try rare IBC | |
BB66 [0065] 1 5 BB71 0 0 [42C..43E) T5 i rare bwd bwd-target IBC | |
BB67 [0066] 1 4 BB66 0 0 [43E..449)-> BB82 (always) T4 try { } keep i try rare bwd IBC | |
BB82 [0081] 1 5 0 0 [???..???)-> BB68 (callf ) T5 i internal rare IBC | |
BB83 [0082] 0 5 0 0 [???..???)-> BB71 (ALWAYS) T5 i internal rare IBC KEEP | |
BB68 [0067] 1 5 4 1 [449..44D)-> BB70 ( cond ) T5 H4 finally { keep i bwd | |
BB69 [0068] 1 5 4 BB68 0 0 [44D..454) T5 H4 i rare bwd IBC | |
BB70 [0069] 2 5 4 BB69,BB68 0 0 [454..455) (finret) T5 H4 } i rare bwd IBC | |
BB71 [0070] 2 5 BB67,BB65 0 0 [455..45E)-> BB66 ( cond ) T5 i rare bwd IBC | |
BB72 [0071] 1 5 BB71 0 0 [45E..460)-> BB84 (always) T5 } rare IBC | |
BB84 [0083] 1 6 0 0 [???..???)-> BB73 (callf ) T6 i internal rare IBC | |
BB85 [0084] 0 6 0 0 [???..???)-> BB76 (ALWAYS) T6 i internal rare IBC KEEP | |
BB73 [0072] 1 6 5 1 [460..46D)-> BB75 ( cond ) T6 H5 finally { keep | |
BB74 [0073] 1 6 5 BB73 0 0 [46D..474) T6 H5 rare IBC | |
BB75 [0074] 2 6 5 BB74,BB73 0 0 [474..475) (finret) T6 H5 } rare IBC | |
BB76 [0075] 1 6 BB72 0 0 [475..480)-> BB81 (leave ) T6 } rare IBC | |
BB77 [0076] 1 6 1 [480..484)-> BB79 ( cond ) H6 finally { keep | |
BB78 [0077] 1 6 BB77 0 0 [484..48B) H6 rare IBC | |
BB79 [0078] 2 6 BB78,BB77 0 0 [48B..48C) (finret) H6 } rare IBC | |
BB80 [0079] 1 BB62 0 0 [48C..494) (return) i rare IBC | |
BB81 [0080] 3 BB76,BB32,BB21 0 0 [494..497) (return) rare IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table | |
index eTry, eHnd | |
0 :: 1 - Try at BB12..BB12 [070..07A), Finally at BB13..BB15 [07A..086) | |
1 :: 2 - Try at BB10..BB17 [05C..091), Finally at BB18..BB20 [091..0A6) | |
2 :: - Try at BB09..BB21 [04F..0B3), Finally at BB22..BB24 [0B3..0BD) | |
3 :: - Try at BB32..BB32 [150..195), Finally at BB33..BB33 [195..19D) | |
4 :: 5 - Try at BB67..BB67 [43E..449), Finally at BB68..BB70 [449..455) | |
5 :: 6 - Try at BB65..BB72 [42A..460), Finally at BB73..BB75 [460..475) | |
6 :: - Try at BB64..BB76 [41D..480), Finally at BB77..BB79 [480..48C) | |
impImportBlockPending for BB84 | |
Importing BB76 (PC=1141) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 1141 (0x475) ldloc.s 20 | |
[ 1] 1143 (0x477) call 06000774 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00163 (IL 0x475... ???) | |
[000615] I-C-G------- * CALL struct Python.Runtime.PyObjectExtensions.NewReferenceOrNull (exactContextHnd=0x00007FF9026AD409) | |
[000614] ------------ arg0 \--* LCL_VAR ref V22 loc20 | |
[ 1] 1148 (0x47c) stloc.s 8 | |
STMT00164 (IL ???... ???) | |
[000619] -AC--------- * ASG struct (copy) | |
[000617] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V10 loc8 | |
[000616] --C--------- \--* RET_EXPR struct(inl return expr [000615]) | |
[ 0] 1150 (0x47e) leave.s 0494 | |
Before import CEE_LEAVE in BB76 (targetting BB81): | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd cheap preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 43 43 [000..00A)-> BB03 ( cond ) i IBC | |
BB02 [0001] 1 BB01 12 12 [00A..017) (return) IBC | |
BB03 [0002] 1 BB01 31 31 [017..01A)-> BB05 ( cond ) i IBC | |
BB04 [0003] 1 BB03 0 0 [01A..026) (return) rare IBC | |
BB05 [0004] 1 BB03 31 31 [026..039)-> BB25 ( cond ) i IBC | |
BB06 [0005] 1 BB05 0 0 [039..041)-> BB25 ( cond ) rare IBC | |
BB07 [0006] 1 BB06 0 0 [041..049)-> BB25 ( cond ) rare IBC | |
BB08 [0007] 1 BB07 0 0 [049..04F) rare IBC | |
BB09 [0008] 1 2 BB08 0 0 [04F..05C) T2 try { keep try rare IBC | |
BB10 [0009] 1 1 BB09 0 0 [05C..05E)-> BB16 (always) T1 try { keep try rare IBC | |
BB11 [0010] 1 1 BB16 0 0 [05E..070) T1 rare bwd bwd-target IBC | |
BB12 [0011] 1 0 BB11 0 0 [070..07A)-> BB16 (leave ) T0 try { } keep try rare bwd IBC | |
BB13 [0012] 1 1 0 1 [07A..07E)-> BB15 ( cond ) T1 H0 finally { keep bwd | |
BB14 [0013] 1 1 0 BB13 0 0 [07E..085) T1 H0 rare bwd IBC | |
BB15 [0014] 2 1 0 BB14,BB13 0 0 [085..086) (finret) T1 H0 } rare bwd IBC | |
BB16 [0015] 2 1 BB12,BB10 0 0 [086..08F)-> BB11 ( cond ) T1 rare bwd IBC | |
BB17 [0016] 1 1 BB16 0 0 [08F..091)-> BB21 (leave ) T1 } rare IBC | |
BB18 [0017] 1 2 1 1 [091..09E)-> BB20 ( cond ) T2 H1 finally { keep | |
BB19 [0018] 1 2 1 BB18 0 0 [09E..0A5) T2 H1 rare IBC | |
BB20 [0019] 2 2 1 BB19,BB18 0 0 [0A5..0A6) (finret) T2 H1 } rare IBC | |
BB21 [0020] 1 2 BB17 0 0 [0A6..0B3)-> BB81 (leave ) T2 } rare IBC | |
BB22 [0021] 1 2 1 [0B3..0B6)-> BB24 ( cond ) H2 finally { keep | |
BB23 [0022] 1 2 BB22 0 0 [0B6..0BC) H2 rare IBC | |
BB24 [0023] 2 2 BB23,BB22 0 0 [0BC..0BD) (finret) H2 } rare IBC | |
BB25 [0024] 3 BB07,BB06,BB05 31 31 [0BD..0C7)-> BB28 ( cond ) i IBC | |
BB26 [0025] 1 BB25 0 0 [0C7..0D4)-> BB28 ( cond ) rare IBC | |
BB27 [0026] 1 BB26 0 0 [0D4..0DB) (return) rare IBC | |
BB28 [0027] 2 BB26,BB25 31 31 [0DB..132)-> BB30[dom(0.5806451)],BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB62,BB35,BB29[def] (switch) i IBC | |
BB29 [0028] 1 BB28 0 0 [132..137)-> BB62 (always) i rare IBC | |
BB30 [0029] 1 BB28 18 18 [137..13F)-> BB34 ( cond ) IBC | |
BB31 [0030] 1 BB30 0 0 [13F..150) rare IBC | |
BB32 [0031] 1 3 BB31 0 0 [150..195)-> BB81 (leave ) T3 try { } keep try rare IBC | |
BB33 [0032] 1 3 1 [195..19D) (finret) H3 finally { } keep | |
BB34 [0033] 1 BB30 18 18 [19D..1A5) (return) IBC | |
BB35 [0034] 1 BB28 0 0 [1A5..1B1) (return) i rare IBC | |
BB36 [0035] 1 BB28 13 13 [1B1..1BD) (return) i IBC | |
BB37 [0036] 1 BB28 0 0 [1BD..1C5)-> BB39 ( cond ) i rare IBC | |
BB38 [0037] 1 BB37 0 0 [1C5..1D1) (return) i rare IBC | |
BB39 [0038] 1 BB37 0 0 [1D1..1DD) (return) i rare IBC | |
BB40 [0039] 1 BB28 0 0 [1DD..1E9) (return) i rare IBC | |
BB41 [0040] 1 BB28 0 0 [1E9..1F5) (return) i rare IBC | |
BB42 [0041] 1 BB28 0 0 [1F5..201) (return) i rare IBC | |
BB43 [0042] 1 BB28 0 0 [201..20D) (return) i rare IBC | |
BB44 [0043] 1 BB28 0 0 [20D..21A) (return) i rare IBC | |
BB45 [0044] 1 BB28 0 0 [21A..226) (return) i rare IBC | |
BB46 [0045] 1 BB28 0 0 [226..232) (return) i rare IBC | |
BB47 [0046] 1 BB28 0 0 [232..23E) (return) i rare IBC | |
BB48 [0047] 1 BB28 0 0 [23E..24B) (return) i rare IBC | |
BB49 [0048] 1 BB28 0 0 [24B..257) (return) i rare IBC | |
BB50 [0049] 1 BB28 0 0 [257..268) (return) i rare IBC | |
BB51 [0050] 1 BB28 0 0 [268..279)-> BB53 ( cond ) i rare IBC | |
BB52 [0051] 1 BB51 0 0 [279..27C)-> BB54 (always) i rare IBC | |
BB53 [0052] 1 BB51 0 0 [27C..27D) i rare IBC | |
BB54 [0053] 2 BB53,BB52 0 0 [27D..288)-> BB56 ( cond ) i rare IBC | |
BB55 [0054] 1 BB54 0 0 [288..28F)-> BB57 (always) i rare IBC | |
BB56 [0055] 1 BB54 0 0 [28F..294) i rare IBC | |
BB57 [0056] 2 BB56,BB55 0 0 [294..3A4)-> BB59 ( cond ) i rare IBC | |
BB58 [0057] 1 BB57 0 0 [3A4..3AB) i rare IBC | |
BB59 [0058] 2 BB58,BB57 0 0 [3AB..3CF)-> BB61 ( cond ) i rare IBC | |
BB60 [0059] 1 BB59 0 0 [3CF..3F3) i rare IBC | |
BB61 [0060] 2 BB60,BB59 0 0 [3F3..40E) (return) i rare IBC | |
BB62 [0061] 3 BB29,BB28,BB28 0 0 [40E..416)-> BB80 ( cond ) i rare IBC | |
BB63 [0062] 1 BB62 0 0 [416..41D) i rare newobj IBC | |
BB64 [0063] 1 6 BB63 0 0 [41D..42A) T6 try { keep i try rare IBC | |
BB65 [0064] 1 5 BB64 0 0 [42A..42C)-> BB71 (always) T5 try { keep i try rare IBC | |
BB66 [0065] 1 5 BB71 0 0 [42C..43E) T5 i rare bwd bwd-target IBC | |
BB67 [0066] 1 4 BB66 0 0 [43E..449)-> BB82 (always) T4 try { } keep i try rare bwd IBC | |
BB82 [0081] 1 5 0 0 [???..???)-> BB68 (callf ) T5 i internal rare IBC | |
BB83 [0082] 0 5 0 0 [???..???)-> BB71 (ALWAYS) T5 i internal rare IBC KEEP | |
BB68 [0067] 1 5 4 1 [449..44D)-> BB70 ( cond ) T5 H4 finally { keep i bwd | |
BB69 [0068] 1 5 4 BB68 0 0 [44D..454) T5 H4 i rare bwd IBC | |
BB70 [0069] 2 5 4 BB69,BB68 0 0 [454..455) (finret) T5 H4 } i rare bwd IBC | |
BB71 [0070] 2 5 BB67,BB65 0 0 [455..45E)-> BB66 ( cond ) T5 i rare bwd IBC | |
BB72 [0071] 1 5 BB71 0 0 [45E..460)-> BB84 (always) T5 } i rare IBC | |
BB84 [0083] 1 6 0 0 [???..???)-> BB73 (callf ) T6 i internal rare IBC | |
BB85 [0084] 0 6 0 0 [???..???)-> BB76 (ALWAYS) T6 i internal rare IBC KEEP | |
BB73 [0072] 1 6 5 1 [460..46D)-> BB75 ( cond ) T6 H5 finally { keep | |
BB74 [0073] 1 6 5 BB73 0 0 [46D..474) T6 H5 rare IBC | |
BB75 [0074] 2 6 5 BB74,BB73 0 0 [474..475) (finret) T6 H5 } rare IBC | |
BB76 [0075] 1 6 BB72 0 0 [475..480)-> BB81 (leave ) T6 } rare IBC | |
BB77 [0076] 1 6 1 [480..484)-> BB79 ( cond ) H6 finally { keep | |
BB78 [0077] 1 6 BB77 0 0 [484..48B) H6 rare IBC | |
BB79 [0078] 2 6 BB78,BB77 0 0 [48B..48C) (finret) H6 } rare IBC | |
BB80 [0079] 1 BB62 0 0 [48C..494) (return) i rare IBC | |
BB81 [0080] 3 BB76,BB32,BB21 0 0 [494..497) (return) rare IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table | |
index eTry, eHnd | |
0 :: 1 - Try at BB12..BB12 [070..07A), Finally at BB13..BB15 [07A..086) | |
1 :: 2 - Try at BB10..BB17 [05C..091), Finally at BB18..BB20 [091..0A6) | |
2 :: - Try at BB09..BB21 [04F..0B3), Finally at BB22..BB24 [0B3..0BD) | |
3 :: - Try at BB32..BB32 [150..195), Finally at BB33..BB33 [195..19D) | |
4 :: 5 - Try at BB67..BB67 [43E..449), Finally at BB68..BB70 [449..455) | |
5 :: 6 - Try at BB65..BB72 [42A..460), Finally at BB73..BB75 [460..475) | |
6 :: - Try at BB64..BB76 [41D..480), Finally at BB77..BB79 [480..48C) | |
fgFindInsertPoint(regionIndex=0, putInTryRegion=true, startBlk=BB01, endBlk=BB00, nearBlk=BB76, jumpBlk=BB00, runRarely=false) | |
fgNewBBinRegion(jumpKind=8, tryIndex=0, hndIndex=0, putInFilter=false, runRarely=false, insertAtEnd=false): inserting after BB76 | |
New Basic Block BB86 [0085] created. | |
impImportLeave - jumping out of a finally-protected try (EH#6), convert block BB76 to BBJ_ALWAYS, add BBJ_CALLFINALLY block BB86 | |
New Basic Block BB87 [0086] created. | |
impImportLeave - jumping out of a finally-protected try (EH#6), created step (BBJ_ALWAYS) block BB87 | |
impImportLeave - final destination of step blocks set to BB81 | |
impImportBlockPending for BB81 | |
After import CEE_LEAVE: | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd cheap preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 43 43 [000..00A)-> BB03 ( cond ) i IBC | |
BB02 [0001] 1 BB01 12 12 [00A..017) (return) IBC | |
BB03 [0002] 1 BB01 31 31 [017..01A)-> BB05 ( cond ) i IBC | |
BB04 [0003] 1 BB03 0 0 [01A..026) (return) rare IBC | |
BB05 [0004] 1 BB03 31 31 [026..039)-> BB25 ( cond ) i IBC | |
BB06 [0005] 1 BB05 0 0 [039..041)-> BB25 ( cond ) rare IBC | |
BB07 [0006] 1 BB06 0 0 [041..049)-> BB25 ( cond ) rare IBC | |
BB08 [0007] 1 BB07 0 0 [049..04F) rare IBC | |
BB09 [0008] 1 2 BB08 0 0 [04F..05C) T2 try { keep try rare IBC | |
BB10 [0009] 1 1 BB09 0 0 [05C..05E)-> BB16 (always) T1 try { keep try rare IBC | |
BB11 [0010] 1 1 BB16 0 0 [05E..070) T1 rare bwd bwd-target IBC | |
BB12 [0011] 1 0 BB11 0 0 [070..07A)-> BB16 (leave ) T0 try { } keep try rare bwd IBC | |
BB13 [0012] 1 1 0 1 [07A..07E)-> BB15 ( cond ) T1 H0 finally { keep bwd | |
BB14 [0013] 1 1 0 BB13 0 0 [07E..085) T1 H0 rare bwd IBC | |
BB15 [0014] 2 1 0 BB14,BB13 0 0 [085..086) (finret) T1 H0 } rare bwd IBC | |
BB16 [0015] 2 1 BB12,BB10 0 0 [086..08F)-> BB11 ( cond ) T1 rare bwd IBC | |
BB17 [0016] 1 1 BB16 0 0 [08F..091)-> BB21 (leave ) T1 } rare IBC | |
BB18 [0017] 1 2 1 1 [091..09E)-> BB20 ( cond ) T2 H1 finally { keep | |
BB19 [0018] 1 2 1 BB18 0 0 [09E..0A5) T2 H1 rare IBC | |
BB20 [0019] 2 2 1 BB19,BB18 0 0 [0A5..0A6) (finret) T2 H1 } rare IBC | |
BB21 [0020] 1 2 BB17 0 0 [0A6..0B3)-> BB81 (leave ) T2 } rare IBC | |
BB22 [0021] 1 2 1 [0B3..0B6)-> BB24 ( cond ) H2 finally { keep | |
BB23 [0022] 1 2 BB22 0 0 [0B6..0BC) H2 rare IBC | |
BB24 [0023] 2 2 BB23,BB22 0 0 [0BC..0BD) (finret) H2 } rare IBC | |
BB25 [0024] 3 BB07,BB06,BB05 31 31 [0BD..0C7)-> BB28 ( cond ) i IBC | |
BB26 [0025] 1 BB25 0 0 [0C7..0D4)-> BB28 ( cond ) rare IBC | |
BB27 [0026] 1 BB26 0 0 [0D4..0DB) (return) rare IBC | |
BB28 [0027] 2 BB26,BB25 31 31 [0DB..132)-> BB30[dom(0.5806451)],BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB62,BB35,BB29[def] (switch) i IBC | |
BB29 [0028] 1 BB28 0 0 [132..137)-> BB62 (always) i rare IBC | |
BB30 [0029] 1 BB28 18 18 [137..13F)-> BB34 ( cond ) IBC | |
BB31 [0030] 1 BB30 0 0 [13F..150) rare IBC | |
BB32 [0031] 1 3 BB31 0 0 [150..195)-> BB81 (leave ) T3 try { } keep try rare IBC | |
BB33 [0032] 1 3 1 [195..19D) (finret) H3 finally { } keep | |
BB34 [0033] 1 BB30 18 18 [19D..1A5) (return) IBC | |
BB35 [0034] 1 BB28 0 0 [1A5..1B1) (return) i rare IBC | |
BB36 [0035] 1 BB28 13 13 [1B1..1BD) (return) i IBC | |
BB37 [0036] 1 BB28 0 0 [1BD..1C5)-> BB39 ( cond ) i rare IBC | |
BB38 [0037] 1 BB37 0 0 [1C5..1D1) (return) i rare IBC | |
BB39 [0038] 1 BB37 0 0 [1D1..1DD) (return) i rare IBC | |
BB40 [0039] 1 BB28 0 0 [1DD..1E9) (return) i rare IBC | |
BB41 [0040] 1 BB28 0 0 [1E9..1F5) (return) i rare IBC | |
BB42 [0041] 1 BB28 0 0 [1F5..201) (return) i rare IBC | |
BB43 [0042] 1 BB28 0 0 [201..20D) (return) i rare IBC | |
BB44 [0043] 1 BB28 0 0 [20D..21A) (return) i rare IBC | |
BB45 [0044] 1 BB28 0 0 [21A..226) (return) i rare IBC | |
BB46 [0045] 1 BB28 0 0 [226..232) (return) i rare IBC | |
BB47 [0046] 1 BB28 0 0 [232..23E) (return) i rare IBC | |
BB48 [0047] 1 BB28 0 0 [23E..24B) (return) i rare IBC | |
BB49 [0048] 1 BB28 0 0 [24B..257) (return) i rare IBC | |
BB50 [0049] 1 BB28 0 0 [257..268) (return) i rare IBC | |
BB51 [0050] 1 BB28 0 0 [268..279)-> BB53 ( cond ) i rare IBC | |
BB52 [0051] 1 BB51 0 0 [279..27C)-> BB54 (always) i rare IBC | |
BB53 [0052] 1 BB51 0 0 [27C..27D) i rare IBC | |
BB54 [0053] 2 BB53,BB52 0 0 [27D..288)-> BB56 ( cond ) i rare IBC | |
BB55 [0054] 1 BB54 0 0 [288..28F)-> BB57 (always) i rare IBC | |
BB56 [0055] 1 BB54 0 0 [28F..294) i rare IBC | |
BB57 [0056] 2 BB56,BB55 0 0 [294..3A4)-> BB59 ( cond ) i rare IBC | |
BB58 [0057] 1 BB57 0 0 [3A4..3AB) i rare IBC | |
BB59 [0058] 2 BB58,BB57 0 0 [3AB..3CF)-> BB61 ( cond ) i rare IBC | |
BB60 [0059] 1 BB59 0 0 [3CF..3F3) i rare IBC | |
BB61 [0060] 2 BB60,BB59 0 0 [3F3..40E) (return) i rare IBC | |
BB62 [0061] 3 BB29,BB28,BB28 0 0 [40E..416)-> BB80 ( cond ) i rare IBC | |
BB63 [0062] 1 BB62 0 0 [416..41D) i rare newobj IBC | |
BB64 [0063] 1 6 BB63 0 0 [41D..42A) T6 try { keep i try rare IBC | |
BB65 [0064] 1 5 BB64 0 0 [42A..42C)-> BB71 (always) T5 try { keep i try rare IBC | |
BB66 [0065] 1 5 BB71 0 0 [42C..43E) T5 i rare bwd bwd-target IBC | |
BB67 [0066] 1 4 BB66 0 0 [43E..449)-> BB82 (always) T4 try { } keep i try rare bwd IBC | |
BB82 [0081] 1 5 0 0 [???..???)-> BB68 (callf ) T5 i internal rare IBC | |
BB83 [0082] 0 5 0 0 [???..???)-> BB71 (ALWAYS) T5 i internal rare IBC KEEP | |
BB68 [0067] 1 5 4 1 [449..44D)-> BB70 ( cond ) T5 H4 finally { keep i bwd | |
BB69 [0068] 1 5 4 BB68 0 0 [44D..454) T5 H4 i rare bwd IBC | |
BB70 [0069] 2 5 4 BB69,BB68 0 0 [454..455) (finret) T5 H4 } i rare bwd IBC | |
BB71 [0070] 2 5 BB67,BB65 0 0 [455..45E)-> BB66 ( cond ) T5 i rare bwd IBC | |
BB72 [0071] 1 5 BB71 0 0 [45E..460)-> BB84 (always) T5 } i rare IBC | |
BB84 [0083] 1 6 0 0 [???..???)-> BB73 (callf ) T6 i internal rare IBC | |
BB85 [0084] 0 6 0 0 [???..???)-> BB76 (ALWAYS) T6 i internal rare IBC KEEP | |
BB73 [0072] 1 6 5 1 [460..46D)-> BB75 ( cond ) T6 H5 finally { keep | |
BB74 [0073] 1 6 5 BB73 0 0 [46D..474) T6 H5 rare IBC | |
BB75 [0074] 2 6 5 BB74,BB73 0 0 [474..475) (finret) T6 H5 } rare IBC | |
BB76 [0075] 1 6 BB72 0 0 [475..480)-> BB86 (always) T6 } rare IBC | |
BB86 [0085] 1 0 0 [???..???)-> BB77 (callf ) i internal rare IBC | |
BB87 [0086] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB77 [0076] 1 6 1 [480..484)-> BB79 ( cond ) H6 finally { keep | |
BB78 [0077] 1 6 BB77 0 0 [484..48B) H6 rare IBC | |
BB79 [0078] 2 6 BB78,BB77 0 0 [48B..48C) (finret) H6 } rare IBC | |
BB80 [0079] 1 BB62 0 0 [48C..494) (return) i rare IBC | |
BB81 [0080] 3 BB76,BB32,BB21 0 0 [494..497) (return) rare IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table | |
index eTry, eHnd | |
0 :: 1 - Try at BB12..BB12 [070..07A), Finally at BB13..BB15 [07A..086) | |
1 :: 2 - Try at BB10..BB17 [05C..091), Finally at BB18..BB20 [091..0A6) | |
2 :: - Try at BB09..BB21 [04F..0B3), Finally at BB22..BB24 [0B3..0BD) | |
3 :: - Try at BB32..BB32 [150..195), Finally at BB33..BB33 [195..19D) | |
4 :: 5 - Try at BB67..BB67 [43E..449), Finally at BB68..BB70 [449..455) | |
5 :: 6 - Try at BB65..BB72 [42A..460), Finally at BB73..BB75 [460..475) | |
6 :: - Try at BB64..BB76 [41D..480), Finally at BB77..BB79 [480..48C) | |
impImportBlockPending for BB86 | |
Importing BB81 (PC=1172) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 1172 (0x494) ldloc.s 8 | |
[ 1] 1174 (0x496) ret | |
impFixupStructReturnType: retyping | |
[000620] ------------ * LCL_VAR struct<Python.Runtime.NewReference, 8> V10 loc8 | |
STMT00165 (IL 0x494... ???) | |
[000621] ------------ * RETURN struct | |
[000620] ------------ \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V10 loc8 | |
Importing BB73 (PC=1120) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 1120 (0x460) ldloc.s 21 | |
[ 1] 1122 (0x462) isinst 01000027 | |
Considering optimization of isinst from 00007FF8FD0E8FD0 (System.Collections.IEnumerator) to 00007FF8FCFBD948 (System.IDisposable) | |
Can't optimize since fromClass is inexact | |
Expanding isinst as call because inline expansion not legal | |
[ 1] 1127 (0x467) stloc.s 7 | |
STMT00166 (IL 0x460... ???) | |
[000626] -AC-G------- * ASG ref | |
[000625] D------N---- +--* LCL_VAR ref V09 loc7 | |
[000624] --C-G------- \--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFINTERFACE | |
[000623] H------N---- arg0 +--* CNS_INT(h) long 0x7ff8fcfbd948 class | |
[000622] ------------ arg1 \--* LCL_VAR ref V23 loc21 | |
[ 0] 1129 (0x469) ldloc.s 7 | |
[ 1] 1131 (0x46b) brfalse.s | |
STMT00167 (IL 0x469... ???) | |
[000630] ------------ * JTRUE void | |
[000629] ------------ \--* EQ int | |
[000627] ------------ +--* LCL_VAR ref V09 loc7 | |
[000628] ------------ \--* CNS_INT ref null | |
impImportBlockPending for BB74 | |
impImportBlockPending for BB75 | |
Importing BB75 (PC=1140) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 1140 (0x474) endfinally | |
STMT00168 (IL 0x474... ???) | |
[000631] ------------ * RETFILT void | |
Importing BB74 (PC=1133) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 1133 (0x46d) ldloc.s 7 | |
[ 1] 1135 (0x46f) callvirt 0A00000D | |
In Compiler::impImportCall: opcode is callvirt, kind=2, callRetType is void, structSize is 0 | |
impDevirtualizeCall: Trying to devirtualize interface call: | |
class for 'this' is System.IDisposable (attrib 00200400) | |
base method is System.IDisposable::Dispose | |
Considering guarded devirtualization at IL offset 1135 (0x46f) | |
No likely class, sorry | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'System.IDisposable:Dispose():this' | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' | |
STMT00169 (IL 0x46D... ???) | |
[000633] --C-G------- * CALLV stub void System.IDisposable.Dispose | |
[000632] ------------ this in rcx \--* LCL_VAR ref V09 loc7 | |
impImportBlockPending for BB75 | |
Importing BB77 (PC=1152) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 1152 (0x480) ldloc.s 20 | |
[ 1] 1154 (0x482) brfalse.s | |
STMT00170 (IL 0x480... ???) | |
[000637] ------------ * JTRUE void | |
[000636] ------------ \--* EQ int | |
[000634] ------------ +--* LCL_VAR ref V22 loc20 | |
[000635] ------------ \--* CNS_INT ref null | |
impImportBlockPending for BB78 | |
impImportBlockPending for BB79 | |
Importing BB79 (PC=1163) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 1163 (0x48b) endfinally | |
STMT00171 (IL 0x48B... ???) | |
[000638] ------------ * RETFILT void | |
Importing BB78 (PC=1156) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 1156 (0x484) ldloc.s 20 | |
[ 1] 1158 (0x486) callvirt 0A00000D | |
In Compiler::impImportCall: opcode is callvirt, kind=2, callRetType is void, structSize is 0 | |
impDevirtualizeCall: Trying to devirtualize interface call: | |
class for 'this' is Python.Runtime.PyList [exact] (attrib 20000000) | |
base method is System.IDisposable::Dispose | |
--- base class is interface | |
devirt to Python.Runtime.PyObject::Dispose -- exact | |
[000640] --C-G------- * CALLV stub void System.IDisposable.Dispose | |
[000639] ------------ this in rcx \--* LCL_VAR ref V22 loc20 | |
exact; can devirtualize | |
... after devirt... | |
[000640] --C-G------- * CALL nullcheck void Python.Runtime.PyObject.Dispose | |
[000639] ------------ this in rcx \--* LCL_VAR ref V22 loc20 | |
STMT00172 (IL 0x484... ???) | |
[000640] I-C-G------- * CALL nullcheck void Python.Runtime.PyObject.Dispose (exactContextHnd=0x00007FF9001C7A71) | |
[000639] ------------ this in rcx \--* LCL_VAR ref V22 loc20 | |
impImportBlockPending for BB79 | |
Importing BB30 (PC=311) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 311 (0x137) ldarg.0 | |
[ 1] 312 (0x138) isinst 01000042 | |
Considering optimization of isinst from 00007FF8FCE25908 (System.Object) to 00007FF8FD001FA0 (System.TimeSpan) | |
Can't optimize since fromClass is inexact | |
Expanding isinst inline | |
lvaGrabTemp returning 52 (V52 tmp26) called for spilling QMark2. | |
STMT00173 (IL 0x137... ???) | |
[000657] -A-X-------- * ASG ref | |
[000656] D------N---- +--* LCL_VAR ref V52 tmp26 | |
[000655] ---X-------- \--* QMARK ref | |
[000648] Q----------- if +--* EQ int | |
[000647] ------------ | +--* LCL_VAR ref V00 arg0 | |
[000646] ------------ | \--* CNS_INT ref null | |
[000654] ---X-------- if \--* COLON ref | |
[000652] ---X-------- else +--* QMARK ref | |
[000645] Q--X-------- if | +--* NE int | |
[000644] #--X-------- | | +--* IND long | |
[000643] ------------ | | | \--* LCL_VAR ref V00 arg0 | |
[000642] H----------- | | \--* CNS_INT(h) long 0x7ff8fd001fa0 class | |
[000651] ------------ if | \--* COLON ref | |
[000649] ------------ else | +--* LCL_VAR ref V00 arg0 | |
[000650] ------------ then | \--* CNS_INT ref null | |
[000653] ------------ then \--* LCL_VAR ref V00 arg0 | |
Marked V52 as a single def temp | |
lvaSetClass: setting class for V52 to (00007FF8FD001FA0) System.TimeSpan | |
[ 1] 317 (0x13d) brfalse.s | |
STMT00174 (IL ???... ???) | |
[000661] ------------ * JTRUE void | |
[000660] ------------ \--* EQ int | |
[000658] ------------ +--* LCL_VAR ref V52 tmp26 | |
[000659] ------------ \--* CNS_INT ref null | |
impImportBlockPending for BB31 | |
impImportBlockPending for BB34 | |
Importing BB34 (PC=413) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 413 (0x19d) ldarg.0 | |
[ 1] 414 (0x19e) ldarg.1 | |
[ 2] 415 (0x19f) call 060009C8 | |
(Implicit Tail call: prefixFlags |= PREFIX_TAILCALL_IMPLICIT) | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
GTF_CALL_M_IMPLICIT_TAILCALL set for call [000664] | |
STMT00175 (IL 0x19D... ???) | |
[000664] I-C-G------- * CALL struct Python.Runtime.CLRObject.GetReference (exactContextHnd=0x00007FF90278F5B1) | |
[000662] ------------ arg0 +--* LCL_VAR ref V00 arg0 | |
[000663] ------------ arg1 \--* LCL_VAR ref V01 arg1 | |
[ 1] 420 (0x1a4) ret | |
impFixupStructReturnType: retyping | |
[000665] --C--------- * RET_EXPR struct(inl return expr [000664]) | |
STMT00176 (IL ???... ???) | |
[000666] --C--------- * RETURN struct | |
[000665] --C--------- \--* RET_EXPR struct(inl return expr [000664]) | |
Importing BB31 (PC=319) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 319 (0x13f) ldarg.0 | |
[ 1] 320 (0x140) unbox.any 01000042 | |
Importing UNBOX.ANY as helper call because want smaller code or faster jitting | |
[ 1] 325 (0x145) stloc.s 15 | |
STMT00177 (IL 0x13F... ???) | |
[000673] -ACXG------- * ASG struct (copy) | |
[000671] D------N---- +--* LCL_VAR struct<System.TimeSpan, 8> V17 loc15 | |
[000670] --CXG------- \--* OBJ struct<System.TimeSpan, 8> | |
[000669] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000668] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fd001fa0 class | |
[000667] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
[ 0] 327 (0x147) ldc.i4.1 1 | |
[ 1] 328 (0x148) conv.i | |
Folding long operator with constant nodes into a constant: | |
[000675] ------------ * CAST long <- int | |
[000674] ------------ \--* CNS_INT int 1 | |
Bashed to long constant: | |
[000675] ------------ * CNS_INT long 1 | |
[ 1] 329 (0x149) call 060008B3 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00178 (IL 0x147... ???) | |
[000676] I-C-G------- * CALL struct Python.Runtime.Runtime.PyTuple_New (exactContextHnd=0x00007FF9001CEA41) | |
[000675] ------------ arg0 \--* CNS_INT long 1 | |
[ 1] 334 (0x14e) stloc.s 16 | |
STMT00179 (IL ???... ???) | |
[000680] -AC--------- * ASG struct (copy) | |
[000678] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V18 loc16 | |
[000677] --C--------- \--* RET_EXPR struct(inl return expr [000676]) | |
impImportBlockPending for BB32 | |
impImportBlockPending for BB33 | |
Importing BB32 (PC=336) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 336 (0x150) ldloca.s 16 | |
[ 1] 338 (0x152) call 06000116 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00180 (IL 0x150... ???) | |
[000683] I-C-G------- * CALL struct Python.Runtime.NewReferenceExtensions.Borrow (exactContextHnd=0x00007FF9001FBA99) | |
[000682] ------------ arg0 \--* ADDR byref | |
[000681] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V18 loc16 | |
[ 1] 343 (0x157) ldc.i4.0 0 | |
[ 2] 344 (0x158) conv.i | |
Folding long operator with constant nodes into a constant: | |
[000686] ------------ * CAST long <- int | |
[000685] ------------ \--* CNS_INT int 0 | |
Bashed to long constant: | |
[000686] ------------ * CNS_INT long 0 | |
[ 2] 345 (0x159) ldloca.s 15 | |
[ 3] 347 (0x15b) call 0A0000FD | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is double, structSize is 0 | |
lvaGrabTemp returning 53 (V53 tmp27) called for impAppendStmt. | |
STMT00182 (IL ???... ???) | |
[000692] -AC--------- * ASG struct (copy) | |
[000690] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V53 tmp27 | |
[000684] --C--------- \--* RET_EXPR struct(inl return expr [000683]) | |
STMT00181 (IL ???... ???) | |
[000689] I-C-G------- * CALL double System.TimeSpan.get_TotalDays (exactContextHnd=0x00007FF8FD001FA1) | |
[000688] ------------ this in rcx \--* ADDR byref | |
[000687] -------N---- \--* LCL_VAR struct<System.TimeSpan, 8> V17 loc15 | |
[ 3] 352 (0x160) call 06000854 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00183 (IL ???... ???) | |
[000695] I-C-G------- * CALL struct Python.Runtime.Runtime.PyFloat_FromDouble (exactContextHnd=0x00007FF9001CEA41) | |
[000694] --C--------- arg0 \--* RET_EXPR double(inl return expr [000689]) | |
[ 3] 357 (0x165) stloc.s 18 | |
STMT00184 (IL ???... ???) | |
[000699] -AC--------- * ASG struct (copy) | |
[000697] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000696] --C--------- \--* RET_EXPR struct(inl return expr [000695]) | |
[ 2] 359 (0x167) ldloca.s 18 | |
[ 3] 361 (0x169) call 0600010C | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00185 (IL ???... ???) | |
[000702] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000701] ------------ this in rcx \--* ADDR byref | |
[000700] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[ 3] 366 (0x16e) call 060008B6 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0 | |
Calling impNormStructVal on: | |
[000703] --C--------- * RET_EXPR struct(inl return expr [000702]) | |
lvaGrabTemp returning 54 (V54 tmp28) called for struct address for call/obj. | |
STMT00186 (IL ???... ???) | |
[000707] -AC--------- * ASG struct (copy) | |
[000705] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V54 tmp28 | |
[000703] --C--------- \--* RET_EXPR struct(inl return expr [000702]) | |
resulting tree: | |
[000710] n----------- * OBJ struct<Python.Runtime.StolenReference, 8> | |
[000709] ------------ \--* ADDR byref | |
[000708] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V54 tmp28 | |
Calling impNormStructVal on: | |
[000693] ------------ * LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V53 tmp27 | |
resulting tree: | |
[000712] n----------- * OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000711] ------------ \--* ADDR byref | |
[000693] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V53 tmp27 | |
STMT00187 (IL ???... ???) | |
[000704] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000712] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000711] ------------ | \--* ADDR byref | |
[000693] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V53 tmp27 | |
[000686] ------------ arg1 +--* CNS_INT long 0 | |
[000710] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000709] ------------ \--* ADDR byref | |
[000708] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V54 tmp28 | |
[ 1] 371 (0x173) pop | |
STMT00188 (IL ???... ???) | |
[000715] --C--------- * COMMA void | |
[000713] --C--------- +--* RET_EXPR int (inl return expr [000704]) | |
[000714] ------------ \--* NOP void | |
[ 0] 372 (0x174) ldsfld 04000020 | |
[ 1] 377 (0x179) call 060000EB | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00189 (IL 0x174... ???) | |
[000717] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000716] ----G------- arg0 \--* FIELD ref timeSpanCtor | |
[ 1] 382 (0x17e) ldloca.s 16 | |
[ 2] 384 (0x180) call 06000116 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
lvaGrabTemp returning 55 (V55 tmp29) called for impAppendStmt. | |
STMT00191 (IL ???... ???) | |
[000724] -AC--------- * ASG struct (copy) | |
[000722] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V55 tmp29 | |
[000718] --C--------- \--* RET_EXPR struct(inl return expr [000717]) | |
STMT00190 (IL ???... ???) | |
[000721] I-C-G------- * CALL struct Python.Runtime.NewReferenceExtensions.Borrow (exactContextHnd=0x00007FF9001FBA99) | |
[000720] ------------ arg0 \--* ADDR byref | |
[000719] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V18 loc16 | |
[ 2] 389 (0x185) call 06000824 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
Calling impNormStructVal on: | |
[000726] --C--------- * RET_EXPR struct(inl return expr [000721]) | |
lvaGrabTemp returning 56 (V56 tmp30) called for struct address for call/obj. | |
STMT00192 (IL ???... ???) | |
[000730] -AC--------- * ASG struct (copy) | |
[000728] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V56 tmp30 | |
[000726] --C--------- \--* RET_EXPR struct(inl return expr [000721]) | |
resulting tree: | |
[000733] n----------- * OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000732] ------------ \--* ADDR byref | |
[000731] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V56 tmp30 | |
Calling impNormStructVal on: | |
[000725] ------------ * LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V55 tmp29 | |
resulting tree: | |
[000735] n----------- * OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000734] ------------ \--* ADDR byref | |
[000725] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V55 tmp29 | |
STMT00193 (IL ???... ???) | |
[000727] I-C-G------- * CALL struct Python.Runtime.Runtime.PyObject_CallObject (exactContextHnd=0x00007FF9001CEA41) | |
[000735] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000734] ------------ | \--* ADDR byref | |
[000725] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V55 tmp29 | |
[000733] n----------- arg1 \--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000732] ------------ \--* ADDR byref | |
[000731] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V56 tmp30 | |
[ 1] 394 (0x18a) stloc.s 17 | |
STMT00194 (IL ???... ???) | |
[000739] -AC--------- * ASG struct (copy) | |
[000737] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V19 loc17 | |
[000736] --C--------- \--* RET_EXPR struct(inl return expr [000727]) | |
[ 0] 396 (0x18c) ldloc.s 17 | |
[ 1] 398 (0x18e) stloc.s 8 | |
STMT00195 (IL 0x18C... ???) | |
[000743] -A---------- * ASG struct (copy) | |
[000741] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V10 loc8 | |
[000740] ------------ \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V19 loc17 | |
[ 0] 400 (0x190) leave 0494 | |
Before import CEE_LEAVE in BB32 (targetting BB81): | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd cheap preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 43 43 [000..00A)-> BB03 ( cond ) i IBC | |
BB02 [0001] 1 BB01 12 12 [00A..017) (return) IBC | |
BB03 [0002] 1 BB01 31 31 [017..01A)-> BB05 ( cond ) i IBC | |
BB04 [0003] 1 BB03 0 0 [01A..026) (return) rare IBC | |
BB05 [0004] 1 BB03 31 31 [026..039)-> BB25 ( cond ) i IBC | |
BB06 [0005] 1 BB05 0 0 [039..041)-> BB25 ( cond ) rare IBC | |
BB07 [0006] 1 BB06 0 0 [041..049)-> BB25 ( cond ) rare IBC | |
BB08 [0007] 1 BB07 0 0 [049..04F) rare IBC | |
BB09 [0008] 1 2 BB08 0 0 [04F..05C) T2 try { keep try rare IBC | |
BB10 [0009] 1 1 BB09 0 0 [05C..05E)-> BB16 (always) T1 try { keep try rare IBC | |
BB11 [0010] 1 1 BB16 0 0 [05E..070) T1 rare bwd bwd-target IBC | |
BB12 [0011] 1 0 BB11 0 0 [070..07A)-> BB16 (leave ) T0 try { } keep try rare bwd IBC | |
BB13 [0012] 1 1 0 1 [07A..07E)-> BB15 ( cond ) T1 H0 finally { keep bwd | |
BB14 [0013] 1 1 0 BB13 0 0 [07E..085) T1 H0 rare bwd IBC | |
BB15 [0014] 2 1 0 BB14,BB13 0 0 [085..086) (finret) T1 H0 } rare bwd IBC | |
BB16 [0015] 2 1 BB12,BB10 0 0 [086..08F)-> BB11 ( cond ) T1 rare bwd IBC | |
BB17 [0016] 1 1 BB16 0 0 [08F..091)-> BB21 (leave ) T1 } rare IBC | |
BB18 [0017] 1 2 1 1 [091..09E)-> BB20 ( cond ) T2 H1 finally { keep | |
BB19 [0018] 1 2 1 BB18 0 0 [09E..0A5) T2 H1 rare IBC | |
BB20 [0019] 2 2 1 BB19,BB18 0 0 [0A5..0A6) (finret) T2 H1 } rare IBC | |
BB21 [0020] 1 2 BB17 0 0 [0A6..0B3)-> BB81 (leave ) T2 } rare IBC | |
BB22 [0021] 1 2 1 [0B3..0B6)-> BB24 ( cond ) H2 finally { keep | |
BB23 [0022] 1 2 BB22 0 0 [0B6..0BC) H2 rare IBC | |
BB24 [0023] 2 2 BB23,BB22 0 0 [0BC..0BD) (finret) H2 } rare IBC | |
BB25 [0024] 3 BB07,BB06,BB05 31 31 [0BD..0C7)-> BB28 ( cond ) i IBC | |
BB26 [0025] 1 BB25 0 0 [0C7..0D4)-> BB28 ( cond ) rare IBC | |
BB27 [0026] 1 BB26 0 0 [0D4..0DB) (return) rare IBC | |
BB28 [0027] 2 BB26,BB25 31 31 [0DB..132)-> BB30[dom(0.5806451)],BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB62,BB35,BB29[def] (switch) i IBC | |
BB29 [0028] 1 BB28 0 0 [132..137)-> BB62 (always) i rare IBC | |
BB30 [0029] 1 BB28 18 18 [137..13F)-> BB34 ( cond ) i IBC | |
BB31 [0030] 1 BB30 0 0 [13F..150) i rare IBC | |
BB32 [0031] 1 3 BB31 0 0 [150..195)-> BB81 (leave ) T3 try { } keep try rare IBC | |
BB33 [0032] 1 3 1 [195..19D) (finret) H3 finally { } keep | |
BB34 [0033] 1 BB30 18 18 [19D..1A5) (return) i IBC | |
BB35 [0034] 1 BB28 0 0 [1A5..1B1) (return) i rare IBC | |
BB36 [0035] 1 BB28 13 13 [1B1..1BD) (return) i IBC | |
BB37 [0036] 1 BB28 0 0 [1BD..1C5)-> BB39 ( cond ) i rare IBC | |
BB38 [0037] 1 BB37 0 0 [1C5..1D1) (return) i rare IBC | |
BB39 [0038] 1 BB37 0 0 [1D1..1DD) (return) i rare IBC | |
BB40 [0039] 1 BB28 0 0 [1DD..1E9) (return) i rare IBC | |
BB41 [0040] 1 BB28 0 0 [1E9..1F5) (return) i rare IBC | |
BB42 [0041] 1 BB28 0 0 [1F5..201) (return) i rare IBC | |
BB43 [0042] 1 BB28 0 0 [201..20D) (return) i rare IBC | |
BB44 [0043] 1 BB28 0 0 [20D..21A) (return) i rare IBC | |
BB45 [0044] 1 BB28 0 0 [21A..226) (return) i rare IBC | |
BB46 [0045] 1 BB28 0 0 [226..232) (return) i rare IBC | |
BB47 [0046] 1 BB28 0 0 [232..23E) (return) i rare IBC | |
BB48 [0047] 1 BB28 0 0 [23E..24B) (return) i rare IBC | |
BB49 [0048] 1 BB28 0 0 [24B..257) (return) i rare IBC | |
BB50 [0049] 1 BB28 0 0 [257..268) (return) i rare IBC | |
BB51 [0050] 1 BB28 0 0 [268..279)-> BB53 ( cond ) i rare IBC | |
BB52 [0051] 1 BB51 0 0 [279..27C)-> BB54 (always) i rare IBC | |
BB53 [0052] 1 BB51 0 0 [27C..27D) i rare IBC | |
BB54 [0053] 2 BB53,BB52 0 0 [27D..288)-> BB56 ( cond ) i rare IBC | |
BB55 [0054] 1 BB54 0 0 [288..28F)-> BB57 (always) i rare IBC | |
BB56 [0055] 1 BB54 0 0 [28F..294) i rare IBC | |
BB57 [0056] 2 BB56,BB55 0 0 [294..3A4)-> BB59 ( cond ) i rare IBC | |
BB58 [0057] 1 BB57 0 0 [3A4..3AB) i rare IBC | |
BB59 [0058] 2 BB58,BB57 0 0 [3AB..3CF)-> BB61 ( cond ) i rare IBC | |
BB60 [0059] 1 BB59 0 0 [3CF..3F3) i rare IBC | |
BB61 [0060] 2 BB60,BB59 0 0 [3F3..40E) (return) i rare IBC | |
BB62 [0061] 3 BB29,BB28,BB28 0 0 [40E..416)-> BB80 ( cond ) i rare IBC | |
BB63 [0062] 1 BB62 0 0 [416..41D) i rare newobj IBC | |
BB64 [0063] 1 6 BB63 0 0 [41D..42A) T6 try { keep i try rare IBC | |
BB65 [0064] 1 5 BB64 0 0 [42A..42C)-> BB71 (always) T5 try { keep i try rare IBC | |
BB66 [0065] 1 5 BB71 0 0 [42C..43E) T5 i rare bwd bwd-target IBC | |
BB67 [0066] 1 4 BB66 0 0 [43E..449)-> BB82 (always) T4 try { } keep i try rare bwd IBC | |
BB82 [0081] 1 5 0 0 [???..???)-> BB68 (callf ) T5 i internal rare IBC | |
BB83 [0082] 0 5 0 0 [???..???)-> BB71 (ALWAYS) T5 i internal rare IBC KEEP | |
BB68 [0067] 1 5 4 1 [449..44D)-> BB70 ( cond ) T5 H4 finally { keep i bwd | |
BB69 [0068] 1 5 4 BB68 0 0 [44D..454) T5 H4 i rare bwd IBC | |
BB70 [0069] 2 5 4 BB69,BB68 0 0 [454..455) (finret) T5 H4 } i rare bwd IBC | |
BB71 [0070] 2 5 BB67,BB65 0 0 [455..45E)-> BB66 ( cond ) T5 i rare bwd IBC | |
BB72 [0071] 1 5 BB71 0 0 [45E..460)-> BB84 (always) T5 } i rare IBC | |
BB84 [0083] 1 6 0 0 [???..???)-> BB73 (callf ) T6 i internal rare IBC | |
BB85 [0084] 0 6 0 0 [???..???)-> BB76 (ALWAYS) T6 i internal rare IBC KEEP | |
BB73 [0072] 1 6 5 1 [460..46D)-> BB75 ( cond ) T6 H5 finally { keep i | |
BB74 [0073] 1 6 5 BB73 0 0 [46D..474) T6 H5 i rare IBC | |
BB75 [0074] 2 6 5 BB74,BB73 0 0 [474..475) (finret) T6 H5 } i rare IBC | |
BB76 [0075] 1 6 BB72 0 0 [475..480)-> BB86 (always) T6 } i rare IBC | |
BB86 [0085] 1 0 0 [???..???)-> BB77 (callf ) i internal rare IBC | |
BB87 [0086] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB77 [0076] 1 6 1 [480..484)-> BB79 ( cond ) H6 finally { keep i | |
BB78 [0077] 1 6 BB77 0 0 [484..48B) H6 i rare IBC | |
BB79 [0078] 2 6 BB78,BB77 0 0 [48B..48C) (finret) H6 } i rare IBC | |
BB80 [0079] 1 BB62 0 0 [48C..494) (return) i rare IBC | |
BB81 [0080] 3 BB76,BB32,BB21 0 0 [494..497) (return) i rare IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table | |
index eTry, eHnd | |
0 :: 1 - Try at BB12..BB12 [070..07A), Finally at BB13..BB15 [07A..086) | |
1 :: 2 - Try at BB10..BB17 [05C..091), Finally at BB18..BB20 [091..0A6) | |
2 :: - Try at BB09..BB21 [04F..0B3), Finally at BB22..BB24 [0B3..0BD) | |
3 :: - Try at BB32..BB32 [150..195), Finally at BB33..BB33 [195..19D) | |
4 :: 5 - Try at BB67..BB67 [43E..449), Finally at BB68..BB70 [449..455) | |
5 :: 6 - Try at BB65..BB72 [42A..460), Finally at BB73..BB75 [460..475) | |
6 :: - Try at BB64..BB76 [41D..480), Finally at BB77..BB79 [480..48C) | |
fgFindInsertPoint(regionIndex=0, putInTryRegion=true, startBlk=BB01, endBlk=BB00, nearBlk=BB32, jumpBlk=BB00, runRarely=false) | |
fgNewBBinRegion(jumpKind=8, tryIndex=0, hndIndex=0, putInFilter=false, runRarely=false, insertAtEnd=false): inserting after BB32 | |
New Basic Block BB88 [0087] created. | |
impImportLeave - jumping out of a finally-protected try (EH#3), convert block BB32 to BBJ_ALWAYS, add BBJ_CALLFINALLY block BB88 | |
New Basic Block BB89 [0088] created. | |
impImportLeave - jumping out of a finally-protected try (EH#3), created step (BBJ_ALWAYS) block BB89 | |
impImportLeave - final destination of step blocks set to BB81 | |
impImportBlockPending for BB81 | |
After import CEE_LEAVE: | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd cheap preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 43 43 [000..00A)-> BB03 ( cond ) i IBC | |
BB02 [0001] 1 BB01 12 12 [00A..017) (return) IBC | |
BB03 [0002] 1 BB01 31 31 [017..01A)-> BB05 ( cond ) i IBC | |
BB04 [0003] 1 BB03 0 0 [01A..026) (return) rare IBC | |
BB05 [0004] 1 BB03 31 31 [026..039)-> BB25 ( cond ) i IBC | |
BB06 [0005] 1 BB05 0 0 [039..041)-> BB25 ( cond ) rare IBC | |
BB07 [0006] 1 BB06 0 0 [041..049)-> BB25 ( cond ) rare IBC | |
BB08 [0007] 1 BB07 0 0 [049..04F) rare IBC | |
BB09 [0008] 1 2 BB08 0 0 [04F..05C) T2 try { keep try rare IBC | |
BB10 [0009] 1 1 BB09 0 0 [05C..05E)-> BB16 (always) T1 try { keep try rare IBC | |
BB11 [0010] 1 1 BB16 0 0 [05E..070) T1 rare bwd bwd-target IBC | |
BB12 [0011] 1 0 BB11 0 0 [070..07A)-> BB16 (leave ) T0 try { } keep try rare bwd IBC | |
BB13 [0012] 1 1 0 1 [07A..07E)-> BB15 ( cond ) T1 H0 finally { keep bwd | |
BB14 [0013] 1 1 0 BB13 0 0 [07E..085) T1 H0 rare bwd IBC | |
BB15 [0014] 2 1 0 BB14,BB13 0 0 [085..086) (finret) T1 H0 } rare bwd IBC | |
BB16 [0015] 2 1 BB12,BB10 0 0 [086..08F)-> BB11 ( cond ) T1 rare bwd IBC | |
BB17 [0016] 1 1 BB16 0 0 [08F..091)-> BB21 (leave ) T1 } rare IBC | |
BB18 [0017] 1 2 1 1 [091..09E)-> BB20 ( cond ) T2 H1 finally { keep | |
BB19 [0018] 1 2 1 BB18 0 0 [09E..0A5) T2 H1 rare IBC | |
BB20 [0019] 2 2 1 BB19,BB18 0 0 [0A5..0A6) (finret) T2 H1 } rare IBC | |
BB21 [0020] 1 2 BB17 0 0 [0A6..0B3)-> BB81 (leave ) T2 } rare IBC | |
BB22 [0021] 1 2 1 [0B3..0B6)-> BB24 ( cond ) H2 finally { keep | |
BB23 [0022] 1 2 BB22 0 0 [0B6..0BC) H2 rare IBC | |
BB24 [0023] 2 2 BB23,BB22 0 0 [0BC..0BD) (finret) H2 } rare IBC | |
BB25 [0024] 3 BB07,BB06,BB05 31 31 [0BD..0C7)-> BB28 ( cond ) i IBC | |
BB26 [0025] 1 BB25 0 0 [0C7..0D4)-> BB28 ( cond ) rare IBC | |
BB27 [0026] 1 BB26 0 0 [0D4..0DB) (return) rare IBC | |
BB28 [0027] 2 BB26,BB25 31 31 [0DB..132)-> BB30[dom(0.5806451)],BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB62,BB35,BB29[def] (switch) i IBC | |
BB29 [0028] 1 BB28 0 0 [132..137)-> BB62 (always) i rare IBC | |
BB30 [0029] 1 BB28 18 18 [137..13F)-> BB34 ( cond ) i IBC | |
BB31 [0030] 1 BB30 0 0 [13F..150) i rare IBC | |
BB32 [0031] 1 3 BB31 0 0 [150..195)-> BB88 (always) T3 try { } keep try rare IBC | |
BB88 [0087] 1 0 0 [???..???)-> BB33 (callf ) i internal rare IBC | |
BB89 [0088] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB33 [0032] 1 3 1 [195..19D) (finret) H3 finally { } keep | |
BB34 [0033] 1 BB30 18 18 [19D..1A5) (return) i IBC | |
BB35 [0034] 1 BB28 0 0 [1A5..1B1) (return) i rare IBC | |
BB36 [0035] 1 BB28 13 13 [1B1..1BD) (return) i IBC | |
BB37 [0036] 1 BB28 0 0 [1BD..1C5)-> BB39 ( cond ) i rare IBC | |
BB38 [0037] 1 BB37 0 0 [1C5..1D1) (return) i rare IBC | |
BB39 [0038] 1 BB37 0 0 [1D1..1DD) (return) i rare IBC | |
BB40 [0039] 1 BB28 0 0 [1DD..1E9) (return) i rare IBC | |
BB41 [0040] 1 BB28 0 0 [1E9..1F5) (return) i rare IBC | |
BB42 [0041] 1 BB28 0 0 [1F5..201) (return) i rare IBC | |
BB43 [0042] 1 BB28 0 0 [201..20D) (return) i rare IBC | |
BB44 [0043] 1 BB28 0 0 [20D..21A) (return) i rare IBC | |
BB45 [0044] 1 BB28 0 0 [21A..226) (return) i rare IBC | |
BB46 [0045] 1 BB28 0 0 [226..232) (return) i rare IBC | |
BB47 [0046] 1 BB28 0 0 [232..23E) (return) i rare IBC | |
BB48 [0047] 1 BB28 0 0 [23E..24B) (return) i rare IBC | |
BB49 [0048] 1 BB28 0 0 [24B..257) (return) i rare IBC | |
BB50 [0049] 1 BB28 0 0 [257..268) (return) i rare IBC | |
BB51 [0050] 1 BB28 0 0 [268..279)-> BB53 ( cond ) i rare IBC | |
BB52 [0051] 1 BB51 0 0 [279..27C)-> BB54 (always) i rare IBC | |
BB53 [0052] 1 BB51 0 0 [27C..27D) i rare IBC | |
BB54 [0053] 2 BB53,BB52 0 0 [27D..288)-> BB56 ( cond ) i rare IBC | |
BB55 [0054] 1 BB54 0 0 [288..28F)-> BB57 (always) i rare IBC | |
BB56 [0055] 1 BB54 0 0 [28F..294) i rare IBC | |
BB57 [0056] 2 BB56,BB55 0 0 [294..3A4)-> BB59 ( cond ) i rare IBC | |
BB58 [0057] 1 BB57 0 0 [3A4..3AB) i rare IBC | |
BB59 [0058] 2 BB58,BB57 0 0 [3AB..3CF)-> BB61 ( cond ) i rare IBC | |
BB60 [0059] 1 BB59 0 0 [3CF..3F3) i rare IBC | |
BB61 [0060] 2 BB60,BB59 0 0 [3F3..40E) (return) i rare IBC | |
BB62 [0061] 3 BB29,BB28,BB28 0 0 [40E..416)-> BB80 ( cond ) i rare IBC | |
BB63 [0062] 1 BB62 0 0 [416..41D) i rare newobj IBC | |
BB64 [0063] 1 6 BB63 0 0 [41D..42A) T6 try { keep i try rare IBC | |
BB65 [0064] 1 5 BB64 0 0 [42A..42C)-> BB71 (always) T5 try { keep i try rare IBC | |
BB66 [0065] 1 5 BB71 0 0 [42C..43E) T5 i rare bwd bwd-target IBC | |
BB67 [0066] 1 4 BB66 0 0 [43E..449)-> BB82 (always) T4 try { } keep i try rare bwd IBC | |
BB82 [0081] 1 5 0 0 [???..???)-> BB68 (callf ) T5 i internal rare IBC | |
BB83 [0082] 0 5 0 0 [???..???)-> BB71 (ALWAYS) T5 i internal rare IBC KEEP | |
BB68 [0067] 1 5 4 1 [449..44D)-> BB70 ( cond ) T5 H4 finally { keep i bwd | |
BB69 [0068] 1 5 4 BB68 0 0 [44D..454) T5 H4 i rare bwd IBC | |
BB70 [0069] 2 5 4 BB69,BB68 0 0 [454..455) (finret) T5 H4 } i rare bwd IBC | |
BB71 [0070] 2 5 BB67,BB65 0 0 [455..45E)-> BB66 ( cond ) T5 i rare bwd IBC | |
BB72 [0071] 1 5 BB71 0 0 [45E..460)-> BB84 (always) T5 } i rare IBC | |
BB84 [0083] 1 6 0 0 [???..???)-> BB73 (callf ) T6 i internal rare IBC | |
BB85 [0084] 0 6 0 0 [???..???)-> BB76 (ALWAYS) T6 i internal rare IBC KEEP | |
BB73 [0072] 1 6 5 1 [460..46D)-> BB75 ( cond ) T6 H5 finally { keep i | |
BB74 [0073] 1 6 5 BB73 0 0 [46D..474) T6 H5 i rare IBC | |
BB75 [0074] 2 6 5 BB74,BB73 0 0 [474..475) (finret) T6 H5 } i rare IBC | |
BB76 [0075] 1 6 BB72 0 0 [475..480)-> BB86 (always) T6 } i rare IBC | |
BB86 [0085] 1 0 0 [???..???)-> BB77 (callf ) i internal rare IBC | |
BB87 [0086] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB77 [0076] 1 6 1 [480..484)-> BB79 ( cond ) H6 finally { keep i | |
BB78 [0077] 1 6 BB77 0 0 [484..48B) H6 i rare IBC | |
BB79 [0078] 2 6 BB78,BB77 0 0 [48B..48C) (finret) H6 } i rare IBC | |
BB80 [0079] 1 BB62 0 0 [48C..494) (return) i rare IBC | |
BB81 [0080] 3 BB76,BB32,BB21 0 0 [494..497) (return) i rare IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table | |
index eTry, eHnd | |
0 :: 1 - Try at BB12..BB12 [070..07A), Finally at BB13..BB15 [07A..086) | |
1 :: 2 - Try at BB10..BB17 [05C..091), Finally at BB18..BB20 [091..0A6) | |
2 :: - Try at BB09..BB21 [04F..0B3), Finally at BB22..BB24 [0B3..0BD) | |
3 :: - Try at BB32..BB32 [150..195), Finally at BB33..BB33 [195..19D) | |
4 :: 5 - Try at BB67..BB67 [43E..449), Finally at BB68..BB70 [449..455) | |
5 :: 6 - Try at BB65..BB72 [42A..460), Finally at BB73..BB75 [460..475) | |
6 :: - Try at BB64..BB76 [41D..480), Finally at BB77..BB79 [480..48C) | |
impImportBlockPending for BB88 | |
Importing BB33 (PC=405) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 405 (0x195) ldloca.s 16 | |
[ 1] 407 (0x197) call 0600010E | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0 | |
STMT00196 (IL 0x195... ???) | |
[000746] I-C-G------- * CALL void Python.Runtime.NewReference.Dispose (exactContextHnd=0x00007FF9001F4CA9) | |
[000745] ------------ this in rcx \--* ADDR byref | |
[000744] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V18 loc16 | |
[ 0] 412 (0x19c) endfinally | |
STMT00197 (IL 0x19C... ???) | |
[000747] ------------ * RETFILT void | |
Importing BB26 (PC=199) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 199 (0x0c7) ldsfld 0400002E | |
[ 1] 204 (0x0cc) ldloc.1 | |
[ 2] 205 (0x0cd) callvirt 0A0000FB | |
In Compiler::impImportCall: opcode is callvirt, kind=0, callRetType is bool, structSize is 0 | |
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'noinline per IL/cached result' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'System.Func`2[__Canon,Boolean][System.__Canon,System.Boolean]:Invoke(System.__Canon):bool:this' | |
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'noinline per IL/cached result' | |
[ 1] 210 (0x0d2) brtrue.s | |
STMT00198 (IL 0x0C7... ???) | |
[000753] --C-G------- * JTRUE void | |
[000752] --C-G------- \--* NE int | |
[000750] --C-G------- +--* CALL int System.Func`2[__Canon,Boolean][System.__Canon,System.Boolean].Invoke | |
[000748] ----G------- this in rcx | +--* FIELD ref IsTransparentProxy | |
[000749] ------------ arg1 | \--* LCL_VAR ref V03 loc1 | |
[000751] ------------ \--* CNS_INT int 0 | |
impImportBlockPending for BB27 | |
impImportBlockPending for BB28 | |
Importing BB27 (PC=212) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 212 (0x0d4) ldloc.1 | |
[ 1] 213 (0x0d5) call 060009A7 | |
(Implicit Tail call: prefixFlags |= PREFIX_TAILCALL_IMPLICIT) | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
GTF_CALL_M_IMPLICIT_TAILCALL set for call [000755] | |
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'has exception handling' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'Python.Runtime.ClassDerivedObject:ToPython(Python.Runtime.IPythonDerivedType):Python.Runtime.NewReference' | |
INLINER: Marking Python.Runtime.ClassDerivedObject:ToPython(Python.Runtime.IPythonDerivedType):Python.Runtime.NewReference as NOINLINE because of has exception handling | |
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'has exception handling' | |
[ 1] 218 (0x0da) ret | |
impFixupStructReturnType: retyping | |
[000755] --C-G------- * CALL struct Python.Runtime.ClassDerivedObject.ToPython | |
[000754] ------------ arg0 \--* LCL_VAR ref V03 loc1 | |
STMT00199 (IL 0x0D4... ???) | |
[000756] --C-G------- * RETURN struct | |
[000755] --C-G------- \--* CALL struct Python.Runtime.ClassDerivedObject.ToPython | |
[000754] ------------ arg0 \--* LCL_VAR ref V03 loc1 | |
Importing BB06 (PC=057) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 57 (0x039) ldarg.0 | |
[ 1] 58 (0x03a) isinst 01000049 | |
Considering optimization of isinst from 00007FF8FCE25908 (System.Object) to 00007FF8FCED02E8 (System.Collections.IList) | |
Can't optimize since fromClass is inexact | |
Expanding isinst as call because inline expansion not legal | |
[ 1] 63 (0x03f) brfalse.s | |
STMT00200 (IL 0x039... ???) | |
[000762] --C-G------- * JTRUE void | |
[000761] --C-G------- \--* EQ int | |
[000759] --C-G------- +--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFINTERFACE | |
[000758] H------N---- arg0 | +--* CNS_INT(h) long 0x7ff8fced02e8 class | |
[000757] ------------ arg1 | \--* LCL_VAR ref V00 arg0 | |
[000760] ------------ \--* CNS_INT ref null | |
impImportBlockPending for BB07 | |
impImportBlockPending for BB25 | |
Importing BB07 (PC=065) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 65 (0x041) ldarg.0 | |
[ 1] 66 (0x042) isinst 010000CD | |
Considering optimization of isinst from 00007FF8FCE25908 (System.Object) to 00007FF8FD3B9808 (System.ComponentModel.INotifyPropertyChanged) | |
Can't optimize since fromClass is inexact | |
Expanding isinst as call because inline expansion not legal | |
[ 1] 71 (0x047) brtrue.s | |
STMT00201 (IL 0x041... ???) | |
[000768] --C-G------- * JTRUE void | |
[000767] --C-G------- \--* NE int | |
[000765] --C-G------- +--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFINTERFACE | |
[000764] H------N---- arg0 | +--* CNS_INT(h) long 0x7ff8fd3b9808 class | |
[000763] ------------ arg1 | \--* LCL_VAR ref V00 arg0 | |
[000766] ------------ \--* CNS_INT ref null | |
impImportBlockPending for BB08 | |
impImportBlockPending for BB25 | |
Importing BB08 (PC=073) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 73 (0x049) newobj | |
lvaGrabTemp returning 57 (V57 tmp31) called for NewObj constructor temp. | |
Spilling stack for finalizable newobj | |
STMT00202 (IL 0x049... ???) | |
[000772] -A---------- * ASG ref | |
[000771] D------N---- +--* LCL_VAR ref V57 tmp31 | |
[000770] ------------ \--* ALLOCOBJ ref | |
[000769] H----------- \--* CNS_INT(h) long 0x7ff9014b26a0 method | |
Marked V57 as a single def local | |
lvaSetClass: setting class for V57 to (00007FF9014B26A0) Python.Runtime.PyList [exact] | |
060006CE | |
In Compiler::impImportCall: opcode is newobj, kind=0, callRetType is void, structSize is 0 | |
STMT00203 (IL ???... ???) | |
[000774] I-C-G------- * CALL void Python.Runtime.PyList..ctor (exactContextHnd=0x00007FF9014B26A1) | |
[000773] ------------ this in rcx \--* LCL_VAR ref V57 tmp31 | |
[ 1] 78 (0x04e) stloc.3 | |
lvaUpdateClass: Updating class for V05 from (00007FF9014B26A0) Python.Runtime.PyList to (00007FF9014B26A0) Python.Runtime.PyList [exact] | |
STMT00204 (IL 0x04E... ???) | |
[000777] -A---------- * ASG ref | |
[000776] D------N---- +--* LCL_VAR ref V05 loc3 | |
[000775] ------------ \--* LCL_VAR ref V57 tmp31 | |
impImportBlockPending for BB09 | |
impImportBlockPending for BB22 | |
Importing BB09 (PC=079) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 79 (0x04f) ldarg.0 | |
[ 1] 80 (0x050) castclass 01000029 | |
Considering optimization of castclass from 00007FF8FCE25908 (System.Object) to 00007FF8FCE2FCE8 (System.Collections.IEnumerable) | |
Can't optimize since fromClass is inexact | |
Expanding castclass as call because inline expansion not legal | |
[ 1] 85 (0x055) callvirt 0A000013 | |
In Compiler::impImportCall: opcode is callvirt, kind=2, callRetType is ref, structSize is 0 | |
impDevirtualizeCall: Trying to devirtualize interface call: | |
class for 'this' is System.Object (attrib 20000000) | |
base method is System.Collections.IEnumerable::GetEnumerator | |
--- base class is interface | |
--- no derived method: object class could not be cast to interface class | |
Class not final or exact | |
Considering guarded devirtualization at IL offset 85 (0x55) | |
No likely class, sorry | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'System.Collections.IEnumerable:GetEnumerator():System.Collections.IEnumerator:this' | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' | |
[ 1] 90 (0x05a) stloc.s 4 | |
STMT00205 (IL 0x04F... ???) | |
[000783] -ACXG------- * ASG ref | |
[000782] D------N---- +--* LCL_VAR ref V06 loc4 | |
[000781] --CXG------- \--* CALLV stub ref System.Collections.IEnumerable.GetEnumerator | |
[000780] --CXG------- this in rcx \--* CALL help ref HELPER.CORINFO_HELP_CHKCASTINTERFACE | |
[000779] H------N---- arg0 +--* CNS_INT(h) long 0x7ff8fce2fce8 class | |
[000778] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
impImportBlockPending for BB10 | |
impImportBlockPending for BB18 | |
Importing BB10 (PC=092) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 92 (0x05c) br.s | |
impImportBlockPending for BB16 | |
Importing BB16 (PC=134) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 134 (0x086) ldloc.s 4 | |
[ 1] 136 (0x088) callvirt 0A00000E | |
In Compiler::impImportCall: opcode is callvirt, kind=2, callRetType is bool, structSize is 0 | |
impDevirtualizeCall: Trying to devirtualize interface call: | |
class for 'this' is System.Collections.IEnumerator (attrib 00200400) | |
base method is System.Collections.IEnumerator::MoveNext | |
Considering guarded devirtualization at IL offset 136 (0x88) | |
No likely class, sorry | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'System.Collections.IEnumerator:MoveNext():bool:this' | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' | |
[ 1] 141 (0x08d) brtrue.s | |
STMT00206 (IL 0x086... ???) | |
[000788] --C-G------- * JTRUE void | |
[000787] --C-G------- \--* NE int | |
[000785] --C-G------- +--* CALLV stub int System.Collections.IEnumerator.MoveNext | |
[000784] ------------ this in rcx | \--* LCL_VAR ref V06 loc4 | |
[000786] ------------ \--* CNS_INT int 0 | |
impImportBlockPending for BB17 | |
impImportBlockPending for BB11 | |
Importing BB11 (PC=094) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 94 (0x05e) ldloc.s 4 | |
[ 1] 96 (0x060) callvirt 0A000011 | |
In Compiler::impImportCall: opcode is callvirt, kind=2, callRetType is ref, structSize is 0 | |
impDevirtualizeCall: Trying to devirtualize interface call: | |
class for 'this' is System.Collections.IEnumerator (attrib 00200400) | |
base method is System.Collections.IEnumerator::get_Current | |
Considering guarded devirtualization at IL offset 96 (0x60) | |
No likely class, sorry | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'System.Collections.IEnumerator:get_Current():System.Object:this' | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' | |
[ 1] 101 (0x065) stloc.s 5 | |
STMT00207 (IL 0x05E... ???) | |
[000792] -AC-G------- * ASG ref | |
[000791] D------N---- +--* LCL_VAR ref V07 loc5 | |
[000790] --C-G------- \--* CALLV stub ref System.Collections.IEnumerator.get_Current | |
[000789] ------------ this in rcx \--* LCL_VAR ref V06 loc4 | |
[ 0] 103 (0x067) ldloc.s 5 | |
[ 1] 105 (0x069) call 06000056 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is ref, structSize is 0 | |
STMT00208 (IL 0x067... ???) | |
[000794] I-C-G------- * CALL ref Python.Runtime.ConverterExtension.ToPython (exactContextHnd=0x00007FF901486E29) | |
[000793] ------------ arg0 \--* LCL_VAR ref V07 loc5 | |
[ 1] 110 (0x06e) stloc.s 6 | |
STMT00209 (IL ???... ???) | |
[000797] -AC--------- * ASG ref | |
[000796] D------N---- +--* LCL_VAR ref V08 loc6 | |
[000795] --C--------- \--* RET_EXPR ref (inl return expr [000794]) | |
impImportBlockPending for BB12 | |
impImportBlockPending for BB13 | |
Importing BB12 (PC=112) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 112 (0x070) ldloc.3 | |
[ 1] 113 (0x071) ldloc.s 6 | |
[ 2] 115 (0x073) callvirt 060006D3 | |
In Compiler::impImportCall: opcode is callvirt, kind=0, callRetType is void, structSize is 0 | |
STMT00210 (IL 0x070... ???) | |
[000800] I-C-G------- * CALL nullcheck void Python.Runtime.PyList.Append (exactContextHnd=0x00007FF9014B26A1) | |
[000798] ------------ this in rcx +--* LCL_VAR ref V05 loc3 | |
[000799] ------------ arg1 \--* LCL_VAR ref V08 loc6 | |
[ 0] 120 (0x078) leave.s 0086 | |
Before import CEE_LEAVE in BB12 (targetting BB16): | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd cheap preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 43 43 [000..00A)-> BB03 ( cond ) i IBC | |
BB02 [0001] 1 BB01 12 12 [00A..017) (return) IBC | |
BB03 [0002] 1 BB01 31 31 [017..01A)-> BB05 ( cond ) i IBC | |
BB04 [0003] 1 BB03 0 0 [01A..026) (return) rare IBC | |
BB05 [0004] 1 BB03 31 31 [026..039)-> BB25 ( cond ) i IBC | |
BB06 [0005] 1 BB05 0 0 [039..041)-> BB25 ( cond ) i rare IBC | |
BB07 [0006] 1 BB06 0 0 [041..049)-> BB25 ( cond ) i rare IBC | |
BB08 [0007] 1 BB07 0 0 [049..04F) i rare newobj IBC | |
BB09 [0008] 1 2 BB08 0 0 [04F..05C) T2 try { keep i try rare IBC | |
BB10 [0009] 1 1 BB09 0 0 [05C..05E)-> BB16 (always) T1 try { keep i try rare IBC | |
BB11 [0010] 1 1 BB16 0 0 [05E..070) T1 i rare bwd bwd-target IBC | |
BB12 [0011] 1 0 BB11 0 0 [070..07A)-> BB16 (leave ) T0 try { } keep try rare bwd IBC | |
BB13 [0012] 1 1 0 1 [07A..07E)-> BB15 ( cond ) T1 H0 finally { keep bwd | |
BB14 [0013] 1 1 0 BB13 0 0 [07E..085) T1 H0 rare bwd IBC | |
BB15 [0014] 2 1 0 BB14,BB13 0 0 [085..086) (finret) T1 H0 } rare bwd IBC | |
BB16 [0015] 2 1 BB12,BB10 0 0 [086..08F)-> BB11 ( cond ) T1 i rare bwd IBC | |
BB17 [0016] 1 1 BB16 0 0 [08F..091)-> BB21 (leave ) T1 } rare IBC | |
BB18 [0017] 1 2 1 1 [091..09E)-> BB20 ( cond ) T2 H1 finally { keep | |
BB19 [0018] 1 2 1 BB18 0 0 [09E..0A5) T2 H1 rare IBC | |
BB20 [0019] 2 2 1 BB19,BB18 0 0 [0A5..0A6) (finret) T2 H1 } rare IBC | |
BB21 [0020] 1 2 BB17 0 0 [0A6..0B3)-> BB81 (leave ) T2 } rare IBC | |
BB22 [0021] 1 2 1 [0B3..0B6)-> BB24 ( cond ) H2 finally { keep | |
BB23 [0022] 1 2 BB22 0 0 [0B6..0BC) H2 rare IBC | |
BB24 [0023] 2 2 BB23,BB22 0 0 [0BC..0BD) (finret) H2 } rare IBC | |
BB25 [0024] 3 BB07,BB06,BB05 31 31 [0BD..0C7)-> BB28 ( cond ) i IBC | |
BB26 [0025] 1 BB25 0 0 [0C7..0D4)-> BB28 ( cond ) i rare IBC | |
BB27 [0026] 1 BB26 0 0 [0D4..0DB) (return) i rare IBC | |
BB28 [0027] 2 BB26,BB25 31 31 [0DB..132)-> BB30[dom(0.5806451)],BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB62,BB35,BB29[def] (switch) i IBC | |
BB29 [0028] 1 BB28 0 0 [132..137)-> BB62 (always) i rare IBC | |
BB30 [0029] 1 BB28 18 18 [137..13F)-> BB34 ( cond ) i IBC | |
BB31 [0030] 1 BB30 0 0 [13F..150) i rare IBC | |
BB32 [0031] 1 3 BB31 0 0 [150..195)-> BB88 (always) T3 try { } keep i try rare IBC | |
BB88 [0087] 1 0 0 [???..???)-> BB33 (callf ) i internal rare IBC | |
BB89 [0088] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB33 [0032] 1 3 1 [195..19D) (finret) H3 finally { } keep i | |
BB34 [0033] 1 BB30 18 18 [19D..1A5) (return) i IBC | |
BB35 [0034] 1 BB28 0 0 [1A5..1B1) (return) i rare IBC | |
BB36 [0035] 1 BB28 13 13 [1B1..1BD) (return) i IBC | |
BB37 [0036] 1 BB28 0 0 [1BD..1C5)-> BB39 ( cond ) i rare IBC | |
BB38 [0037] 1 BB37 0 0 [1C5..1D1) (return) i rare IBC | |
BB39 [0038] 1 BB37 0 0 [1D1..1DD) (return) i rare IBC | |
BB40 [0039] 1 BB28 0 0 [1DD..1E9) (return) i rare IBC | |
BB41 [0040] 1 BB28 0 0 [1E9..1F5) (return) i rare IBC | |
BB42 [0041] 1 BB28 0 0 [1F5..201) (return) i rare IBC | |
BB43 [0042] 1 BB28 0 0 [201..20D) (return) i rare IBC | |
BB44 [0043] 1 BB28 0 0 [20D..21A) (return) i rare IBC | |
BB45 [0044] 1 BB28 0 0 [21A..226) (return) i rare IBC | |
BB46 [0045] 1 BB28 0 0 [226..232) (return) i rare IBC | |
BB47 [0046] 1 BB28 0 0 [232..23E) (return) i rare IBC | |
BB48 [0047] 1 BB28 0 0 [23E..24B) (return) i rare IBC | |
BB49 [0048] 1 BB28 0 0 [24B..257) (return) i rare IBC | |
BB50 [0049] 1 BB28 0 0 [257..268) (return) i rare IBC | |
BB51 [0050] 1 BB28 0 0 [268..279)-> BB53 ( cond ) i rare IBC | |
BB52 [0051] 1 BB51 0 0 [279..27C)-> BB54 (always) i rare IBC | |
BB53 [0052] 1 BB51 0 0 [27C..27D) i rare IBC | |
BB54 [0053] 2 BB53,BB52 0 0 [27D..288)-> BB56 ( cond ) i rare IBC | |
BB55 [0054] 1 BB54 0 0 [288..28F)-> BB57 (always) i rare IBC | |
BB56 [0055] 1 BB54 0 0 [28F..294) i rare IBC | |
BB57 [0056] 2 BB56,BB55 0 0 [294..3A4)-> BB59 ( cond ) i rare IBC | |
BB58 [0057] 1 BB57 0 0 [3A4..3AB) i rare IBC | |
BB59 [0058] 2 BB58,BB57 0 0 [3AB..3CF)-> BB61 ( cond ) i rare IBC | |
BB60 [0059] 1 BB59 0 0 [3CF..3F3) i rare IBC | |
BB61 [0060] 2 BB60,BB59 0 0 [3F3..40E) (return) i rare IBC | |
BB62 [0061] 3 BB29,BB28,BB28 0 0 [40E..416)-> BB80 ( cond ) i rare IBC | |
BB63 [0062] 1 BB62 0 0 [416..41D) i rare newobj IBC | |
BB64 [0063] 1 6 BB63 0 0 [41D..42A) T6 try { keep i try rare IBC | |
BB65 [0064] 1 5 BB64 0 0 [42A..42C)-> BB71 (always) T5 try { keep i try rare IBC | |
BB66 [0065] 1 5 BB71 0 0 [42C..43E) T5 i rare bwd bwd-target IBC | |
BB67 [0066] 1 4 BB66 0 0 [43E..449)-> BB82 (always) T4 try { } keep i try rare bwd IBC | |
BB82 [0081] 1 5 0 0 [???..???)-> BB68 (callf ) T5 i internal rare IBC | |
BB83 [0082] 0 5 0 0 [???..???)-> BB71 (ALWAYS) T5 i internal rare IBC KEEP | |
BB68 [0067] 1 5 4 1 [449..44D)-> BB70 ( cond ) T5 H4 finally { keep i bwd | |
BB69 [0068] 1 5 4 BB68 0 0 [44D..454) T5 H4 i rare bwd IBC | |
BB70 [0069] 2 5 4 BB69,BB68 0 0 [454..455) (finret) T5 H4 } i rare bwd IBC | |
BB71 [0070] 2 5 BB67,BB65 0 0 [455..45E)-> BB66 ( cond ) T5 i rare bwd IBC | |
BB72 [0071] 1 5 BB71 0 0 [45E..460)-> BB84 (always) T5 } i rare IBC | |
BB84 [0083] 1 6 0 0 [???..???)-> BB73 (callf ) T6 i internal rare IBC | |
BB85 [0084] 0 6 0 0 [???..???)-> BB76 (ALWAYS) T6 i internal rare IBC KEEP | |
BB73 [0072] 1 6 5 1 [460..46D)-> BB75 ( cond ) T6 H5 finally { keep i | |
BB74 [0073] 1 6 5 BB73 0 0 [46D..474) T6 H5 i rare IBC | |
BB75 [0074] 2 6 5 BB74,BB73 0 0 [474..475) (finret) T6 H5 } i rare IBC | |
BB76 [0075] 1 6 BB72 0 0 [475..480)-> BB86 (always) T6 } i rare IBC | |
BB86 [0085] 1 0 0 [???..???)-> BB77 (callf ) i internal rare IBC | |
BB87 [0086] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB77 [0076] 1 6 1 [480..484)-> BB79 ( cond ) H6 finally { keep i | |
BB78 [0077] 1 6 BB77 0 0 [484..48B) H6 i rare IBC | |
BB79 [0078] 2 6 BB78,BB77 0 0 [48B..48C) (finret) H6 } i rare IBC | |
BB80 [0079] 1 BB62 0 0 [48C..494) (return) i rare IBC | |
BB81 [0080] 3 BB76,BB32,BB21 0 0 [494..497) (return) i rare IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table | |
index eTry, eHnd | |
0 :: 1 - Try at BB12..BB12 [070..07A), Finally at BB13..BB15 [07A..086) | |
1 :: 2 - Try at BB10..BB17 [05C..091), Finally at BB18..BB20 [091..0A6) | |
2 :: - Try at BB09..BB21 [04F..0B3), Finally at BB22..BB24 [0B3..0BD) | |
3 :: - Try at BB32..BB32 [150..195), Finally at BB33..BB33 [195..19D) | |
4 :: 5 - Try at BB67..BB67 [43E..449), Finally at BB68..BB70 [449..455) | |
5 :: 6 - Try at BB65..BB72 [42A..460), Finally at BB73..BB75 [460..475) | |
6 :: - Try at BB64..BB76 [41D..480), Finally at BB77..BB79 [480..48C) | |
fgFindInsertPoint(regionIndex=2, putInTryRegion=true, startBlk=BB10, endBlk=BB18, nearBlk=BB12, jumpBlk=BB00, runRarely=false) | |
fgNewBBinRegion(jumpKind=8, tryIndex=2, hndIndex=0, putInFilter=false, runRarely=false, insertAtEnd=false): inserting after BB12 | |
New Basic Block BB90 [0089] created. | |
impImportLeave - jumping out of a finally-protected try (EH#0), convert block BB12 to BBJ_ALWAYS, add BBJ_CALLFINALLY block BB90 | |
New Basic Block BB91 [0090] created. | |
impImportLeave - jumping out of a finally-protected try (EH#0), created step (BBJ_ALWAYS) block BB91 | |
impImportLeave - final destination of step blocks set to BB16 | |
impImportBlockPending for BB16 | |
After import CEE_LEAVE: | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd cheap preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 43 43 [000..00A)-> BB03 ( cond ) i IBC | |
BB02 [0001] 1 BB01 12 12 [00A..017) (return) IBC | |
BB03 [0002] 1 BB01 31 31 [017..01A)-> BB05 ( cond ) i IBC | |
BB04 [0003] 1 BB03 0 0 [01A..026) (return) rare IBC | |
BB05 [0004] 1 BB03 31 31 [026..039)-> BB25 ( cond ) i IBC | |
BB06 [0005] 1 BB05 0 0 [039..041)-> BB25 ( cond ) i rare IBC | |
BB07 [0006] 1 BB06 0 0 [041..049)-> BB25 ( cond ) i rare IBC | |
BB08 [0007] 1 BB07 0 0 [049..04F) i rare newobj IBC | |
BB09 [0008] 1 2 BB08 0 0 [04F..05C) T2 try { keep i try rare IBC | |
BB10 [0009] 1 1 BB09 0 0 [05C..05E)-> BB16 (always) T1 try { keep i try rare IBC | |
BB11 [0010] 1 1 BB16 0 0 [05E..070) T1 i rare bwd bwd-target IBC | |
BB12 [0011] 1 0 BB11 0 0 [070..07A)-> BB90 (always) T0 try { } keep try rare bwd IBC | |
BB90 [0089] 1 1 0 0 [???..???)-> BB13 (callf ) T1 i internal rare IBC | |
BB91 [0090] 0 1 0 0 [???..???)-> BB16 (ALWAYS) T1 i internal rare IBC KEEP | |
BB13 [0012] 1 1 0 1 [07A..07E)-> BB15 ( cond ) T1 H0 finally { keep bwd | |
BB14 [0013] 1 1 0 BB13 0 0 [07E..085) T1 H0 rare bwd IBC | |
BB15 [0014] 2 1 0 BB14,BB13 0 0 [085..086) (finret) T1 H0 } rare bwd IBC | |
BB16 [0015] 2 1 BB12,BB10 0 0 [086..08F)-> BB11 ( cond ) T1 i rare bwd IBC | |
BB17 [0016] 1 1 BB16 0 0 [08F..091)-> BB21 (leave ) T1 } rare IBC | |
BB18 [0017] 1 2 1 1 [091..09E)-> BB20 ( cond ) T2 H1 finally { keep | |
BB19 [0018] 1 2 1 BB18 0 0 [09E..0A5) T2 H1 rare IBC | |
BB20 [0019] 2 2 1 BB19,BB18 0 0 [0A5..0A6) (finret) T2 H1 } rare IBC | |
BB21 [0020] 1 2 BB17 0 0 [0A6..0B3)-> BB81 (leave ) T2 } rare IBC | |
BB22 [0021] 1 2 1 [0B3..0B6)-> BB24 ( cond ) H2 finally { keep | |
BB23 [0022] 1 2 BB22 0 0 [0B6..0BC) H2 rare IBC | |
BB24 [0023] 2 2 BB23,BB22 0 0 [0BC..0BD) (finret) H2 } rare IBC | |
BB25 [0024] 3 BB07,BB06,BB05 31 31 [0BD..0C7)-> BB28 ( cond ) i IBC | |
BB26 [0025] 1 BB25 0 0 [0C7..0D4)-> BB28 ( cond ) i rare IBC | |
BB27 [0026] 1 BB26 0 0 [0D4..0DB) (return) i rare IBC | |
BB28 [0027] 2 BB26,BB25 31 31 [0DB..132)-> BB30[dom(0.5806451)],BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB62,BB35,BB29[def] (switch) i IBC | |
BB29 [0028] 1 BB28 0 0 [132..137)-> BB62 (always) i rare IBC | |
BB30 [0029] 1 BB28 18 18 [137..13F)-> BB34 ( cond ) i IBC | |
BB31 [0030] 1 BB30 0 0 [13F..150) i rare IBC | |
BB32 [0031] 1 3 BB31 0 0 [150..195)-> BB88 (always) T3 try { } keep i try rare IBC | |
BB88 [0087] 1 0 0 [???..???)-> BB33 (callf ) i internal rare IBC | |
BB89 [0088] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB33 [0032] 1 3 1 [195..19D) (finret) H3 finally { } keep i | |
BB34 [0033] 1 BB30 18 18 [19D..1A5) (return) i IBC | |
BB35 [0034] 1 BB28 0 0 [1A5..1B1) (return) i rare IBC | |
BB36 [0035] 1 BB28 13 13 [1B1..1BD) (return) i IBC | |
BB37 [0036] 1 BB28 0 0 [1BD..1C5)-> BB39 ( cond ) i rare IBC | |
BB38 [0037] 1 BB37 0 0 [1C5..1D1) (return) i rare IBC | |
BB39 [0038] 1 BB37 0 0 [1D1..1DD) (return) i rare IBC | |
BB40 [0039] 1 BB28 0 0 [1DD..1E9) (return) i rare IBC | |
BB41 [0040] 1 BB28 0 0 [1E9..1F5) (return) i rare IBC | |
BB42 [0041] 1 BB28 0 0 [1F5..201) (return) i rare IBC | |
BB43 [0042] 1 BB28 0 0 [201..20D) (return) i rare IBC | |
BB44 [0043] 1 BB28 0 0 [20D..21A) (return) i rare IBC | |
BB45 [0044] 1 BB28 0 0 [21A..226) (return) i rare IBC | |
BB46 [0045] 1 BB28 0 0 [226..232) (return) i rare IBC | |
BB47 [0046] 1 BB28 0 0 [232..23E) (return) i rare IBC | |
BB48 [0047] 1 BB28 0 0 [23E..24B) (return) i rare IBC | |
BB49 [0048] 1 BB28 0 0 [24B..257) (return) i rare IBC | |
BB50 [0049] 1 BB28 0 0 [257..268) (return) i rare IBC | |
BB51 [0050] 1 BB28 0 0 [268..279)-> BB53 ( cond ) i rare IBC | |
BB52 [0051] 1 BB51 0 0 [279..27C)-> BB54 (always) i rare IBC | |
BB53 [0052] 1 BB51 0 0 [27C..27D) i rare IBC | |
BB54 [0053] 2 BB53,BB52 0 0 [27D..288)-> BB56 ( cond ) i rare IBC | |
BB55 [0054] 1 BB54 0 0 [288..28F)-> BB57 (always) i rare IBC | |
BB56 [0055] 1 BB54 0 0 [28F..294) i rare IBC | |
BB57 [0056] 2 BB56,BB55 0 0 [294..3A4)-> BB59 ( cond ) i rare IBC | |
BB58 [0057] 1 BB57 0 0 [3A4..3AB) i rare IBC | |
BB59 [0058] 2 BB58,BB57 0 0 [3AB..3CF)-> BB61 ( cond ) i rare IBC | |
BB60 [0059] 1 BB59 0 0 [3CF..3F3) i rare IBC | |
BB61 [0060] 2 BB60,BB59 0 0 [3F3..40E) (return) i rare IBC | |
BB62 [0061] 3 BB29,BB28,BB28 0 0 [40E..416)-> BB80 ( cond ) i rare IBC | |
BB63 [0062] 1 BB62 0 0 [416..41D) i rare newobj IBC | |
BB64 [0063] 1 6 BB63 0 0 [41D..42A) T6 try { keep i try rare IBC | |
BB65 [0064] 1 5 BB64 0 0 [42A..42C)-> BB71 (always) T5 try { keep i try rare IBC | |
BB66 [0065] 1 5 BB71 0 0 [42C..43E) T5 i rare bwd bwd-target IBC | |
BB67 [0066] 1 4 BB66 0 0 [43E..449)-> BB82 (always) T4 try { } keep i try rare bwd IBC | |
BB82 [0081] 1 5 0 0 [???..???)-> BB68 (callf ) T5 i internal rare IBC | |
BB83 [0082] 0 5 0 0 [???..???)-> BB71 (ALWAYS) T5 i internal rare IBC KEEP | |
BB68 [0067] 1 5 4 1 [449..44D)-> BB70 ( cond ) T5 H4 finally { keep i bwd | |
BB69 [0068] 1 5 4 BB68 0 0 [44D..454) T5 H4 i rare bwd IBC | |
BB70 [0069] 2 5 4 BB69,BB68 0 0 [454..455) (finret) T5 H4 } i rare bwd IBC | |
BB71 [0070] 2 5 BB67,BB65 0 0 [455..45E)-> BB66 ( cond ) T5 i rare bwd IBC | |
BB72 [0071] 1 5 BB71 0 0 [45E..460)-> BB84 (always) T5 } i rare IBC | |
BB84 [0083] 1 6 0 0 [???..???)-> BB73 (callf ) T6 i internal rare IBC | |
BB85 [0084] 0 6 0 0 [???..???)-> BB76 (ALWAYS) T6 i internal rare IBC KEEP | |
BB73 [0072] 1 6 5 1 [460..46D)-> BB75 ( cond ) T6 H5 finally { keep i | |
BB74 [0073] 1 6 5 BB73 0 0 [46D..474) T6 H5 i rare IBC | |
BB75 [0074] 2 6 5 BB74,BB73 0 0 [474..475) (finret) T6 H5 } i rare IBC | |
BB76 [0075] 1 6 BB72 0 0 [475..480)-> BB86 (always) T6 } i rare IBC | |
BB86 [0085] 1 0 0 [???..???)-> BB77 (callf ) i internal rare IBC | |
BB87 [0086] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB77 [0076] 1 6 1 [480..484)-> BB79 ( cond ) H6 finally { keep i | |
BB78 [0077] 1 6 BB77 0 0 [484..48B) H6 i rare IBC | |
BB79 [0078] 2 6 BB78,BB77 0 0 [48B..48C) (finret) H6 } i rare IBC | |
BB80 [0079] 1 BB62 0 0 [48C..494) (return) i rare IBC | |
BB81 [0080] 3 BB76,BB32,BB21 0 0 [494..497) (return) i rare IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table | |
index eTry, eHnd | |
0 :: 1 - Try at BB12..BB12 [070..07A), Finally at BB13..BB15 [07A..086) | |
1 :: 2 - Try at BB10..BB17 [05C..091), Finally at BB18..BB20 [091..0A6) | |
2 :: - Try at BB09..BB21 [04F..0B3), Finally at BB22..BB24 [0B3..0BD) | |
3 :: - Try at BB32..BB32 [150..195), Finally at BB33..BB33 [195..19D) | |
4 :: 5 - Try at BB67..BB67 [43E..449), Finally at BB68..BB70 [449..455) | |
5 :: 6 - Try at BB65..BB72 [42A..460), Finally at BB73..BB75 [460..475) | |
6 :: - Try at BB64..BB76 [41D..480), Finally at BB77..BB79 [480..48C) | |
impImportBlockPending for BB90 | |
Importing BB13 (PC=122) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 122 (0x07a) ldloc.s 6 | |
[ 1] 124 (0x07c) brfalse.s | |
STMT00211 (IL 0x07A... ???) | |
[000804] ------------ * JTRUE void | |
[000803] ------------ \--* EQ int | |
[000801] ------------ +--* LCL_VAR ref V08 loc6 | |
[000802] ------------ \--* CNS_INT ref null | |
impImportBlockPending for BB14 | |
impImportBlockPending for BB15 | |
Importing BB15 (PC=133) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 133 (0x085) endfinally | |
STMT00212 (IL 0x085... ???) | |
[000805] ------------ * RETFILT void | |
Importing BB14 (PC=126) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 126 (0x07e) ldloc.s 6 | |
[ 1] 128 (0x080) callvirt 0A00000D | |
In Compiler::impImportCall: opcode is callvirt, kind=2, callRetType is void, structSize is 0 | |
impDevirtualizeCall: Trying to devirtualize interface call: | |
class for 'this' is Python.Runtime.PyObject (attrib 20000000) | |
base method is System.IDisposable::Dispose | |
--- base class is interface | |
devirt to Python.Runtime.PyObject::Dispose -- final method | |
[000807] --C-G------- * CALLV stub void System.IDisposable.Dispose | |
[000806] ------------ this in rcx \--* LCL_VAR ref V08 loc6 | |
Class not final or exact | |
Considering guarded devirtualization at IL offset 128 (0x80) | |
No likely class, sorry | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'System.IDisposable:Dispose():this' | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' | |
STMT00213 (IL 0x07E... ???) | |
[000807] --C-G------- * CALLV stub void System.IDisposable.Dispose | |
[000806] ------------ this in rcx \--* LCL_VAR ref V08 loc6 | |
impImportBlockPending for BB15 | |
Importing BB17 (PC=143) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 143 (0x08f) leave.s 00A6 | |
Before import CEE_LEAVE in BB17 (targetting BB21): | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd cheap preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 43 43 [000..00A)-> BB03 ( cond ) i IBC | |
BB02 [0001] 1 BB01 12 12 [00A..017) (return) IBC | |
BB03 [0002] 1 BB01 31 31 [017..01A)-> BB05 ( cond ) i IBC | |
BB04 [0003] 1 BB03 0 0 [01A..026) (return) rare IBC | |
BB05 [0004] 1 BB03 31 31 [026..039)-> BB25 ( cond ) i IBC | |
BB06 [0005] 1 BB05 0 0 [039..041)-> BB25 ( cond ) i rare IBC | |
BB07 [0006] 1 BB06 0 0 [041..049)-> BB25 ( cond ) i rare IBC | |
BB08 [0007] 1 BB07 0 0 [049..04F) i rare newobj IBC | |
BB09 [0008] 1 2 BB08 0 0 [04F..05C) T2 try { keep i try rare IBC | |
BB10 [0009] 1 1 BB09 0 0 [05C..05E)-> BB16 (always) T1 try { keep i try rare IBC | |
BB11 [0010] 1 1 BB16 0 0 [05E..070) T1 i rare bwd bwd-target IBC | |
BB12 [0011] 1 0 BB11 0 0 [070..07A)-> BB90 (always) T0 try { } keep i try rare bwd IBC | |
BB90 [0089] 1 1 0 0 [???..???)-> BB13 (callf ) T1 i internal rare IBC | |
BB91 [0090] 0 1 0 0 [???..???)-> BB16 (ALWAYS) T1 i internal rare IBC KEEP | |
BB13 [0012] 1 1 0 1 [07A..07E)-> BB15 ( cond ) T1 H0 finally { keep i bwd | |
BB14 [0013] 1 1 0 BB13 0 0 [07E..085) T1 H0 i rare bwd IBC | |
BB15 [0014] 2 1 0 BB14,BB13 0 0 [085..086) (finret) T1 H0 } i rare bwd IBC | |
BB16 [0015] 2 1 BB12,BB10 0 0 [086..08F)-> BB11 ( cond ) T1 i rare bwd IBC | |
BB17 [0016] 1 1 BB16 0 0 [08F..091)-> BB21 (leave ) T1 } rare IBC | |
BB18 [0017] 1 2 1 1 [091..09E)-> BB20 ( cond ) T2 H1 finally { keep | |
BB19 [0018] 1 2 1 BB18 0 0 [09E..0A5) T2 H1 rare IBC | |
BB20 [0019] 2 2 1 BB19,BB18 0 0 [0A5..0A6) (finret) T2 H1 } rare IBC | |
BB21 [0020] 1 2 BB17 0 0 [0A6..0B3)-> BB81 (leave ) T2 } rare IBC | |
BB22 [0021] 1 2 1 [0B3..0B6)-> BB24 ( cond ) H2 finally { keep | |
BB23 [0022] 1 2 BB22 0 0 [0B6..0BC) H2 rare IBC | |
BB24 [0023] 2 2 BB23,BB22 0 0 [0BC..0BD) (finret) H2 } rare IBC | |
BB25 [0024] 3 BB07,BB06,BB05 31 31 [0BD..0C7)-> BB28 ( cond ) i IBC | |
BB26 [0025] 1 BB25 0 0 [0C7..0D4)-> BB28 ( cond ) i rare IBC | |
BB27 [0026] 1 BB26 0 0 [0D4..0DB) (return) i rare IBC | |
BB28 [0027] 2 BB26,BB25 31 31 [0DB..132)-> BB30[dom(0.5806451)],BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB62,BB35,BB29[def] (switch) i IBC | |
BB29 [0028] 1 BB28 0 0 [132..137)-> BB62 (always) i rare IBC | |
BB30 [0029] 1 BB28 18 18 [137..13F)-> BB34 ( cond ) i IBC | |
BB31 [0030] 1 BB30 0 0 [13F..150) i rare IBC | |
BB32 [0031] 1 3 BB31 0 0 [150..195)-> BB88 (always) T3 try { } keep i try rare IBC | |
BB88 [0087] 1 0 0 [???..???)-> BB33 (callf ) i internal rare IBC | |
BB89 [0088] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB33 [0032] 1 3 1 [195..19D) (finret) H3 finally { } keep i | |
BB34 [0033] 1 BB30 18 18 [19D..1A5) (return) i IBC | |
BB35 [0034] 1 BB28 0 0 [1A5..1B1) (return) i rare IBC | |
BB36 [0035] 1 BB28 13 13 [1B1..1BD) (return) i IBC | |
BB37 [0036] 1 BB28 0 0 [1BD..1C5)-> BB39 ( cond ) i rare IBC | |
BB38 [0037] 1 BB37 0 0 [1C5..1D1) (return) i rare IBC | |
BB39 [0038] 1 BB37 0 0 [1D1..1DD) (return) i rare IBC | |
BB40 [0039] 1 BB28 0 0 [1DD..1E9) (return) i rare IBC | |
BB41 [0040] 1 BB28 0 0 [1E9..1F5) (return) i rare IBC | |
BB42 [0041] 1 BB28 0 0 [1F5..201) (return) i rare IBC | |
BB43 [0042] 1 BB28 0 0 [201..20D) (return) i rare IBC | |
BB44 [0043] 1 BB28 0 0 [20D..21A) (return) i rare IBC | |
BB45 [0044] 1 BB28 0 0 [21A..226) (return) i rare IBC | |
BB46 [0045] 1 BB28 0 0 [226..232) (return) i rare IBC | |
BB47 [0046] 1 BB28 0 0 [232..23E) (return) i rare IBC | |
BB48 [0047] 1 BB28 0 0 [23E..24B) (return) i rare IBC | |
BB49 [0048] 1 BB28 0 0 [24B..257) (return) i rare IBC | |
BB50 [0049] 1 BB28 0 0 [257..268) (return) i rare IBC | |
BB51 [0050] 1 BB28 0 0 [268..279)-> BB53 ( cond ) i rare IBC | |
BB52 [0051] 1 BB51 0 0 [279..27C)-> BB54 (always) i rare IBC | |
BB53 [0052] 1 BB51 0 0 [27C..27D) i rare IBC | |
BB54 [0053] 2 BB53,BB52 0 0 [27D..288)-> BB56 ( cond ) i rare IBC | |
BB55 [0054] 1 BB54 0 0 [288..28F)-> BB57 (always) i rare IBC | |
BB56 [0055] 1 BB54 0 0 [28F..294) i rare IBC | |
BB57 [0056] 2 BB56,BB55 0 0 [294..3A4)-> BB59 ( cond ) i rare IBC | |
BB58 [0057] 1 BB57 0 0 [3A4..3AB) i rare IBC | |
BB59 [0058] 2 BB58,BB57 0 0 [3AB..3CF)-> BB61 ( cond ) i rare IBC | |
BB60 [0059] 1 BB59 0 0 [3CF..3F3) i rare IBC | |
BB61 [0060] 2 BB60,BB59 0 0 [3F3..40E) (return) i rare IBC | |
BB62 [0061] 3 BB29,BB28,BB28 0 0 [40E..416)-> BB80 ( cond ) i rare IBC | |
BB63 [0062] 1 BB62 0 0 [416..41D) i rare newobj IBC | |
BB64 [0063] 1 6 BB63 0 0 [41D..42A) T6 try { keep i try rare IBC | |
BB65 [0064] 1 5 BB64 0 0 [42A..42C)-> BB71 (always) T5 try { keep i try rare IBC | |
BB66 [0065] 1 5 BB71 0 0 [42C..43E) T5 i rare bwd bwd-target IBC | |
BB67 [0066] 1 4 BB66 0 0 [43E..449)-> BB82 (always) T4 try { } keep i try rare bwd IBC | |
BB82 [0081] 1 5 0 0 [???..???)-> BB68 (callf ) T5 i internal rare IBC | |
BB83 [0082] 0 5 0 0 [???..???)-> BB71 (ALWAYS) T5 i internal rare IBC KEEP | |
BB68 [0067] 1 5 4 1 [449..44D)-> BB70 ( cond ) T5 H4 finally { keep i bwd | |
BB69 [0068] 1 5 4 BB68 0 0 [44D..454) T5 H4 i rare bwd IBC | |
BB70 [0069] 2 5 4 BB69,BB68 0 0 [454..455) (finret) T5 H4 } i rare bwd IBC | |
BB71 [0070] 2 5 BB67,BB65 0 0 [455..45E)-> BB66 ( cond ) T5 i rare bwd IBC | |
BB72 [0071] 1 5 BB71 0 0 [45E..460)-> BB84 (always) T5 } i rare IBC | |
BB84 [0083] 1 6 0 0 [???..???)-> BB73 (callf ) T6 i internal rare IBC | |
BB85 [0084] 0 6 0 0 [???..???)-> BB76 (ALWAYS) T6 i internal rare IBC KEEP | |
BB73 [0072] 1 6 5 1 [460..46D)-> BB75 ( cond ) T6 H5 finally { keep i | |
BB74 [0073] 1 6 5 BB73 0 0 [46D..474) T6 H5 i rare IBC | |
BB75 [0074] 2 6 5 BB74,BB73 0 0 [474..475) (finret) T6 H5 } i rare IBC | |
BB76 [0075] 1 6 BB72 0 0 [475..480)-> BB86 (always) T6 } i rare IBC | |
BB86 [0085] 1 0 0 [???..???)-> BB77 (callf ) i internal rare IBC | |
BB87 [0086] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB77 [0076] 1 6 1 [480..484)-> BB79 ( cond ) H6 finally { keep i | |
BB78 [0077] 1 6 BB77 0 0 [484..48B) H6 i rare IBC | |
BB79 [0078] 2 6 BB78,BB77 0 0 [48B..48C) (finret) H6 } i rare IBC | |
BB80 [0079] 1 BB62 0 0 [48C..494) (return) i rare IBC | |
BB81 [0080] 3 BB76,BB32,BB21 0 0 [494..497) (return) i rare IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table | |
index eTry, eHnd | |
0 :: 1 - Try at BB12..BB12 [070..07A), Finally at BB13..BB15 [07A..086) | |
1 :: 2 - Try at BB10..BB17 [05C..091), Finally at BB18..BB20 [091..0A6) | |
2 :: - Try at BB09..BB21 [04F..0B3), Finally at BB22..BB24 [0B3..0BD) | |
3 :: - Try at BB32..BB32 [150..195), Finally at BB33..BB33 [195..19D) | |
4 :: 5 - Try at BB67..BB67 [43E..449), Finally at BB68..BB70 [449..455) | |
5 :: 6 - Try at BB65..BB72 [42A..460), Finally at BB73..BB75 [460..475) | |
6 :: - Try at BB64..BB76 [41D..480), Finally at BB77..BB79 [480..48C) | |
fgFindInsertPoint(regionIndex=3, putInTryRegion=true, startBlk=BB09, endBlk=BB22, nearBlk=BB17, jumpBlk=BB00, runRarely=false) | |
fgNewBBinRegion(jumpKind=8, tryIndex=3, hndIndex=0, putInFilter=false, runRarely=false, insertAtEnd=false): inserting after BB17 | |
New Basic Block BB92 [0091] created. | |
impImportLeave - jumping out of a finally-protected try (EH#1), convert block BB17 to BBJ_ALWAYS, add BBJ_CALLFINALLY block BB92 | |
New Basic Block BB93 [0092] created. | |
impImportLeave - jumping out of a finally-protected try (EH#1), created step (BBJ_ALWAYS) block BB93 | |
impImportLeave - final destination of step blocks set to BB21 | |
impImportBlockPending for BB21 | |
After import CEE_LEAVE: | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd cheap preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 43 43 [000..00A)-> BB03 ( cond ) i IBC | |
BB02 [0001] 1 BB01 12 12 [00A..017) (return) IBC | |
BB03 [0002] 1 BB01 31 31 [017..01A)-> BB05 ( cond ) i IBC | |
BB04 [0003] 1 BB03 0 0 [01A..026) (return) rare IBC | |
BB05 [0004] 1 BB03 31 31 [026..039)-> BB25 ( cond ) i IBC | |
BB06 [0005] 1 BB05 0 0 [039..041)-> BB25 ( cond ) i rare IBC | |
BB07 [0006] 1 BB06 0 0 [041..049)-> BB25 ( cond ) i rare IBC | |
BB08 [0007] 1 BB07 0 0 [049..04F) i rare newobj IBC | |
BB09 [0008] 1 2 BB08 0 0 [04F..05C) T2 try { keep i try rare IBC | |
BB10 [0009] 1 1 BB09 0 0 [05C..05E)-> BB16 (always) T1 try { keep i try rare IBC | |
BB11 [0010] 1 1 BB16 0 0 [05E..070) T1 i rare bwd bwd-target IBC | |
BB12 [0011] 1 0 BB11 0 0 [070..07A)-> BB90 (always) T0 try { } keep i try rare bwd IBC | |
BB90 [0089] 1 1 0 0 [???..???)-> BB13 (callf ) T1 i internal rare IBC | |
BB91 [0090] 0 1 0 0 [???..???)-> BB16 (ALWAYS) T1 i internal rare IBC KEEP | |
BB13 [0012] 1 1 0 1 [07A..07E)-> BB15 ( cond ) T1 H0 finally { keep i bwd | |
BB14 [0013] 1 1 0 BB13 0 0 [07E..085) T1 H0 i rare bwd IBC | |
BB15 [0014] 2 1 0 BB14,BB13 0 0 [085..086) (finret) T1 H0 } i rare bwd IBC | |
BB16 [0015] 2 1 BB12,BB10 0 0 [086..08F)-> BB11 ( cond ) T1 i rare bwd IBC | |
BB17 [0016] 1 1 BB16 0 0 [08F..091)-> BB92 (always) T1 } rare IBC | |
BB92 [0091] 1 2 0 0 [???..???)-> BB18 (callf ) T2 i internal rare IBC | |
BB93 [0092] 0 2 0 0 [???..???)-> BB21 (ALWAYS) T2 i internal rare IBC KEEP | |
BB18 [0017] 1 2 1 1 [091..09E)-> BB20 ( cond ) T2 H1 finally { keep | |
BB19 [0018] 1 2 1 BB18 0 0 [09E..0A5) T2 H1 rare IBC | |
BB20 [0019] 2 2 1 BB19,BB18 0 0 [0A5..0A6) (finret) T2 H1 } rare IBC | |
BB21 [0020] 1 2 BB17 0 0 [0A6..0B3)-> BB81 (leave ) T2 } rare IBC | |
BB22 [0021] 1 2 1 [0B3..0B6)-> BB24 ( cond ) H2 finally { keep | |
BB23 [0022] 1 2 BB22 0 0 [0B6..0BC) H2 rare IBC | |
BB24 [0023] 2 2 BB23,BB22 0 0 [0BC..0BD) (finret) H2 } rare IBC | |
BB25 [0024] 3 BB07,BB06,BB05 31 31 [0BD..0C7)-> BB28 ( cond ) i IBC | |
BB26 [0025] 1 BB25 0 0 [0C7..0D4)-> BB28 ( cond ) i rare IBC | |
BB27 [0026] 1 BB26 0 0 [0D4..0DB) (return) i rare IBC | |
BB28 [0027] 2 BB26,BB25 31 31 [0DB..132)-> BB30[dom(0.5806451)],BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB62,BB35,BB29[def] (switch) i IBC | |
BB29 [0028] 1 BB28 0 0 [132..137)-> BB62 (always) i rare IBC | |
BB30 [0029] 1 BB28 18 18 [137..13F)-> BB34 ( cond ) i IBC | |
BB31 [0030] 1 BB30 0 0 [13F..150) i rare IBC | |
BB32 [0031] 1 3 BB31 0 0 [150..195)-> BB88 (always) T3 try { } keep i try rare IBC | |
BB88 [0087] 1 0 0 [???..???)-> BB33 (callf ) i internal rare IBC | |
BB89 [0088] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB33 [0032] 1 3 1 [195..19D) (finret) H3 finally { } keep i | |
BB34 [0033] 1 BB30 18 18 [19D..1A5) (return) i IBC | |
BB35 [0034] 1 BB28 0 0 [1A5..1B1) (return) i rare IBC | |
BB36 [0035] 1 BB28 13 13 [1B1..1BD) (return) i IBC | |
BB37 [0036] 1 BB28 0 0 [1BD..1C5)-> BB39 ( cond ) i rare IBC | |
BB38 [0037] 1 BB37 0 0 [1C5..1D1) (return) i rare IBC | |
BB39 [0038] 1 BB37 0 0 [1D1..1DD) (return) i rare IBC | |
BB40 [0039] 1 BB28 0 0 [1DD..1E9) (return) i rare IBC | |
BB41 [0040] 1 BB28 0 0 [1E9..1F5) (return) i rare IBC | |
BB42 [0041] 1 BB28 0 0 [1F5..201) (return) i rare IBC | |
BB43 [0042] 1 BB28 0 0 [201..20D) (return) i rare IBC | |
BB44 [0043] 1 BB28 0 0 [20D..21A) (return) i rare IBC | |
BB45 [0044] 1 BB28 0 0 [21A..226) (return) i rare IBC | |
BB46 [0045] 1 BB28 0 0 [226..232) (return) i rare IBC | |
BB47 [0046] 1 BB28 0 0 [232..23E) (return) i rare IBC | |
BB48 [0047] 1 BB28 0 0 [23E..24B) (return) i rare IBC | |
BB49 [0048] 1 BB28 0 0 [24B..257) (return) i rare IBC | |
BB50 [0049] 1 BB28 0 0 [257..268) (return) i rare IBC | |
BB51 [0050] 1 BB28 0 0 [268..279)-> BB53 ( cond ) i rare IBC | |
BB52 [0051] 1 BB51 0 0 [279..27C)-> BB54 (always) i rare IBC | |
BB53 [0052] 1 BB51 0 0 [27C..27D) i rare IBC | |
BB54 [0053] 2 BB53,BB52 0 0 [27D..288)-> BB56 ( cond ) i rare IBC | |
BB55 [0054] 1 BB54 0 0 [288..28F)-> BB57 (always) i rare IBC | |
BB56 [0055] 1 BB54 0 0 [28F..294) i rare IBC | |
BB57 [0056] 2 BB56,BB55 0 0 [294..3A4)-> BB59 ( cond ) i rare IBC | |
BB58 [0057] 1 BB57 0 0 [3A4..3AB) i rare IBC | |
BB59 [0058] 2 BB58,BB57 0 0 [3AB..3CF)-> BB61 ( cond ) i rare IBC | |
BB60 [0059] 1 BB59 0 0 [3CF..3F3) i rare IBC | |
BB61 [0060] 2 BB60,BB59 0 0 [3F3..40E) (return) i rare IBC | |
BB62 [0061] 3 BB29,BB28,BB28 0 0 [40E..416)-> BB80 ( cond ) i rare IBC | |
BB63 [0062] 1 BB62 0 0 [416..41D) i rare newobj IBC | |
BB64 [0063] 1 6 BB63 0 0 [41D..42A) T6 try { keep i try rare IBC | |
BB65 [0064] 1 5 BB64 0 0 [42A..42C)-> BB71 (always) T5 try { keep i try rare IBC | |
BB66 [0065] 1 5 BB71 0 0 [42C..43E) T5 i rare bwd bwd-target IBC | |
BB67 [0066] 1 4 BB66 0 0 [43E..449)-> BB82 (always) T4 try { } keep i try rare bwd IBC | |
BB82 [0081] 1 5 0 0 [???..???)-> BB68 (callf ) T5 i internal rare IBC | |
BB83 [0082] 0 5 0 0 [???..???)-> BB71 (ALWAYS) T5 i internal rare IBC KEEP | |
BB68 [0067] 1 5 4 1 [449..44D)-> BB70 ( cond ) T5 H4 finally { keep i bwd | |
BB69 [0068] 1 5 4 BB68 0 0 [44D..454) T5 H4 i rare bwd IBC | |
BB70 [0069] 2 5 4 BB69,BB68 0 0 [454..455) (finret) T5 H4 } i rare bwd IBC | |
BB71 [0070] 2 5 BB67,BB65 0 0 [455..45E)-> BB66 ( cond ) T5 i rare bwd IBC | |
BB72 [0071] 1 5 BB71 0 0 [45E..460)-> BB84 (always) T5 } i rare IBC | |
BB84 [0083] 1 6 0 0 [???..???)-> BB73 (callf ) T6 i internal rare IBC | |
BB85 [0084] 0 6 0 0 [???..???)-> BB76 (ALWAYS) T6 i internal rare IBC KEEP | |
BB73 [0072] 1 6 5 1 [460..46D)-> BB75 ( cond ) T6 H5 finally { keep i | |
BB74 [0073] 1 6 5 BB73 0 0 [46D..474) T6 H5 i rare IBC | |
BB75 [0074] 2 6 5 BB74,BB73 0 0 [474..475) (finret) T6 H5 } i rare IBC | |
BB76 [0075] 1 6 BB72 0 0 [475..480)-> BB86 (always) T6 } i rare IBC | |
BB86 [0085] 1 0 0 [???..???)-> BB77 (callf ) i internal rare IBC | |
BB87 [0086] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB77 [0076] 1 6 1 [480..484)-> BB79 ( cond ) H6 finally { keep i | |
BB78 [0077] 1 6 BB77 0 0 [484..48B) H6 i rare IBC | |
BB79 [0078] 2 6 BB78,BB77 0 0 [48B..48C) (finret) H6 } i rare IBC | |
BB80 [0079] 1 BB62 0 0 [48C..494) (return) i rare IBC | |
BB81 [0080] 3 BB76,BB32,BB21 0 0 [494..497) (return) i rare IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table | |
index eTry, eHnd | |
0 :: 1 - Try at BB12..BB12 [070..07A), Finally at BB13..BB15 [07A..086) | |
1 :: 2 - Try at BB10..BB17 [05C..091), Finally at BB18..BB20 [091..0A6) | |
2 :: - Try at BB09..BB21 [04F..0B3), Finally at BB22..BB24 [0B3..0BD) | |
3 :: - Try at BB32..BB32 [150..195), Finally at BB33..BB33 [195..19D) | |
4 :: 5 - Try at BB67..BB67 [43E..449), Finally at BB68..BB70 [449..455) | |
5 :: 6 - Try at BB65..BB72 [42A..460), Finally at BB73..BB75 [460..475) | |
6 :: - Try at BB64..BB76 [41D..480), Finally at BB77..BB79 [480..48C) | |
impImportBlockPending for BB92 | |
Importing BB21 (PC=166) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 166 (0x0a6) ldloc.3 | |
[ 1] 167 (0x0a7) call 06000774 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00214 (IL 0x0A6... ???) | |
[000809] I-C-G------- * CALL struct Python.Runtime.PyObjectExtensions.NewReferenceOrNull (exactContextHnd=0x00007FF9026AD409) | |
[000808] ------------ arg0 \--* LCL_VAR ref V05 loc3 | |
[ 1] 172 (0x0ac) stloc.s 8 | |
STMT00215 (IL ???... ???) | |
[000813] -AC--------- * ASG struct (copy) | |
[000811] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V10 loc8 | |
[000810] --C--------- \--* RET_EXPR struct(inl return expr [000809]) | |
[ 0] 174 (0x0ae) leave 0494 | |
Before import CEE_LEAVE in BB21 (targetting BB81): | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd cheap preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 43 43 [000..00A)-> BB03 ( cond ) i IBC | |
BB02 [0001] 1 BB01 12 12 [00A..017) (return) IBC | |
BB03 [0002] 1 BB01 31 31 [017..01A)-> BB05 ( cond ) i IBC | |
BB04 [0003] 1 BB03 0 0 [01A..026) (return) rare IBC | |
BB05 [0004] 1 BB03 31 31 [026..039)-> BB25 ( cond ) i IBC | |
BB06 [0005] 1 BB05 0 0 [039..041)-> BB25 ( cond ) i rare IBC | |
BB07 [0006] 1 BB06 0 0 [041..049)-> BB25 ( cond ) i rare IBC | |
BB08 [0007] 1 BB07 0 0 [049..04F) i rare newobj IBC | |
BB09 [0008] 1 2 BB08 0 0 [04F..05C) T2 try { keep i try rare IBC | |
BB10 [0009] 1 1 BB09 0 0 [05C..05E)-> BB16 (always) T1 try { keep i try rare IBC | |
BB11 [0010] 1 1 BB16 0 0 [05E..070) T1 i rare bwd bwd-target IBC | |
BB12 [0011] 1 0 BB11 0 0 [070..07A)-> BB90 (always) T0 try { } keep i try rare bwd IBC | |
BB90 [0089] 1 1 0 0 [???..???)-> BB13 (callf ) T1 i internal rare IBC | |
BB91 [0090] 0 1 0 0 [???..???)-> BB16 (ALWAYS) T1 i internal rare IBC KEEP | |
BB13 [0012] 1 1 0 1 [07A..07E)-> BB15 ( cond ) T1 H0 finally { keep i bwd | |
BB14 [0013] 1 1 0 BB13 0 0 [07E..085) T1 H0 i rare bwd IBC | |
BB15 [0014] 2 1 0 BB14,BB13 0 0 [085..086) (finret) T1 H0 } i rare bwd IBC | |
BB16 [0015] 2 1 BB12,BB10 0 0 [086..08F)-> BB11 ( cond ) T1 i rare bwd IBC | |
BB17 [0016] 1 1 BB16 0 0 [08F..091)-> BB92 (always) T1 } i rare IBC | |
BB92 [0091] 1 2 0 0 [???..???)-> BB18 (callf ) T2 i internal rare IBC | |
BB93 [0092] 0 2 0 0 [???..???)-> BB21 (ALWAYS) T2 i internal rare IBC KEEP | |
BB18 [0017] 1 2 1 1 [091..09E)-> BB20 ( cond ) T2 H1 finally { keep | |
BB19 [0018] 1 2 1 BB18 0 0 [09E..0A5) T2 H1 rare IBC | |
BB20 [0019] 2 2 1 BB19,BB18 0 0 [0A5..0A6) (finret) T2 H1 } rare IBC | |
BB21 [0020] 1 2 BB17 0 0 [0A6..0B3)-> BB81 (leave ) T2 } rare IBC | |
BB22 [0021] 1 2 1 [0B3..0B6)-> BB24 ( cond ) H2 finally { keep | |
BB23 [0022] 1 2 BB22 0 0 [0B6..0BC) H2 rare IBC | |
BB24 [0023] 2 2 BB23,BB22 0 0 [0BC..0BD) (finret) H2 } rare IBC | |
BB25 [0024] 3 BB07,BB06,BB05 31 31 [0BD..0C7)-> BB28 ( cond ) i IBC | |
BB26 [0025] 1 BB25 0 0 [0C7..0D4)-> BB28 ( cond ) i rare IBC | |
BB27 [0026] 1 BB26 0 0 [0D4..0DB) (return) i rare IBC | |
BB28 [0027] 2 BB26,BB25 31 31 [0DB..132)-> BB30[dom(0.5806451)],BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB62,BB35,BB29[def] (switch) i IBC | |
BB29 [0028] 1 BB28 0 0 [132..137)-> BB62 (always) i rare IBC | |
BB30 [0029] 1 BB28 18 18 [137..13F)-> BB34 ( cond ) i IBC | |
BB31 [0030] 1 BB30 0 0 [13F..150) i rare IBC | |
BB32 [0031] 1 3 BB31 0 0 [150..195)-> BB88 (always) T3 try { } keep i try rare IBC | |
BB88 [0087] 1 0 0 [???..???)-> BB33 (callf ) i internal rare IBC | |
BB89 [0088] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB33 [0032] 1 3 1 [195..19D) (finret) H3 finally { } keep i | |
BB34 [0033] 1 BB30 18 18 [19D..1A5) (return) i IBC | |
BB35 [0034] 1 BB28 0 0 [1A5..1B1) (return) i rare IBC | |
BB36 [0035] 1 BB28 13 13 [1B1..1BD) (return) i IBC | |
BB37 [0036] 1 BB28 0 0 [1BD..1C5)-> BB39 ( cond ) i rare IBC | |
BB38 [0037] 1 BB37 0 0 [1C5..1D1) (return) i rare IBC | |
BB39 [0038] 1 BB37 0 0 [1D1..1DD) (return) i rare IBC | |
BB40 [0039] 1 BB28 0 0 [1DD..1E9) (return) i rare IBC | |
BB41 [0040] 1 BB28 0 0 [1E9..1F5) (return) i rare IBC | |
BB42 [0041] 1 BB28 0 0 [1F5..201) (return) i rare IBC | |
BB43 [0042] 1 BB28 0 0 [201..20D) (return) i rare IBC | |
BB44 [0043] 1 BB28 0 0 [20D..21A) (return) i rare IBC | |
BB45 [0044] 1 BB28 0 0 [21A..226) (return) i rare IBC | |
BB46 [0045] 1 BB28 0 0 [226..232) (return) i rare IBC | |
BB47 [0046] 1 BB28 0 0 [232..23E) (return) i rare IBC | |
BB48 [0047] 1 BB28 0 0 [23E..24B) (return) i rare IBC | |
BB49 [0048] 1 BB28 0 0 [24B..257) (return) i rare IBC | |
BB50 [0049] 1 BB28 0 0 [257..268) (return) i rare IBC | |
BB51 [0050] 1 BB28 0 0 [268..279)-> BB53 ( cond ) i rare IBC | |
BB52 [0051] 1 BB51 0 0 [279..27C)-> BB54 (always) i rare IBC | |
BB53 [0052] 1 BB51 0 0 [27C..27D) i rare IBC | |
BB54 [0053] 2 BB53,BB52 0 0 [27D..288)-> BB56 ( cond ) i rare IBC | |
BB55 [0054] 1 BB54 0 0 [288..28F)-> BB57 (always) i rare IBC | |
BB56 [0055] 1 BB54 0 0 [28F..294) i rare IBC | |
BB57 [0056] 2 BB56,BB55 0 0 [294..3A4)-> BB59 ( cond ) i rare IBC | |
BB58 [0057] 1 BB57 0 0 [3A4..3AB) i rare IBC | |
BB59 [0058] 2 BB58,BB57 0 0 [3AB..3CF)-> BB61 ( cond ) i rare IBC | |
BB60 [0059] 1 BB59 0 0 [3CF..3F3) i rare IBC | |
BB61 [0060] 2 BB60,BB59 0 0 [3F3..40E) (return) i rare IBC | |
BB62 [0061] 3 BB29,BB28,BB28 0 0 [40E..416)-> BB80 ( cond ) i rare IBC | |
BB63 [0062] 1 BB62 0 0 [416..41D) i rare newobj IBC | |
BB64 [0063] 1 6 BB63 0 0 [41D..42A) T6 try { keep i try rare IBC | |
BB65 [0064] 1 5 BB64 0 0 [42A..42C)-> BB71 (always) T5 try { keep i try rare IBC | |
BB66 [0065] 1 5 BB71 0 0 [42C..43E) T5 i rare bwd bwd-target IBC | |
BB67 [0066] 1 4 BB66 0 0 [43E..449)-> BB82 (always) T4 try { } keep i try rare bwd IBC | |
BB82 [0081] 1 5 0 0 [???..???)-> BB68 (callf ) T5 i internal rare IBC | |
BB83 [0082] 0 5 0 0 [???..???)-> BB71 (ALWAYS) T5 i internal rare IBC KEEP | |
BB68 [0067] 1 5 4 1 [449..44D)-> BB70 ( cond ) T5 H4 finally { keep i bwd | |
BB69 [0068] 1 5 4 BB68 0 0 [44D..454) T5 H4 i rare bwd IBC | |
BB70 [0069] 2 5 4 BB69,BB68 0 0 [454..455) (finret) T5 H4 } i rare bwd IBC | |
BB71 [0070] 2 5 BB67,BB65 0 0 [455..45E)-> BB66 ( cond ) T5 i rare bwd IBC | |
BB72 [0071] 1 5 BB71 0 0 [45E..460)-> BB84 (always) T5 } i rare IBC | |
BB84 [0083] 1 6 0 0 [???..???)-> BB73 (callf ) T6 i internal rare IBC | |
BB85 [0084] 0 6 0 0 [???..???)-> BB76 (ALWAYS) T6 i internal rare IBC KEEP | |
BB73 [0072] 1 6 5 1 [460..46D)-> BB75 ( cond ) T6 H5 finally { keep i | |
BB74 [0073] 1 6 5 BB73 0 0 [46D..474) T6 H5 i rare IBC | |
BB75 [0074] 2 6 5 BB74,BB73 0 0 [474..475) (finret) T6 H5 } i rare IBC | |
BB76 [0075] 1 6 BB72 0 0 [475..480)-> BB86 (always) T6 } i rare IBC | |
BB86 [0085] 1 0 0 [???..???)-> BB77 (callf ) i internal rare IBC | |
BB87 [0086] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB77 [0076] 1 6 1 [480..484)-> BB79 ( cond ) H6 finally { keep i | |
BB78 [0077] 1 6 BB77 0 0 [484..48B) H6 i rare IBC | |
BB79 [0078] 2 6 BB78,BB77 0 0 [48B..48C) (finret) H6 } i rare IBC | |
BB80 [0079] 1 BB62 0 0 [48C..494) (return) i rare IBC | |
BB81 [0080] 3 BB76,BB32,BB21 0 0 [494..497) (return) i rare IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table | |
index eTry, eHnd | |
0 :: 1 - Try at BB12..BB12 [070..07A), Finally at BB13..BB15 [07A..086) | |
1 :: 2 - Try at BB10..BB17 [05C..091), Finally at BB18..BB20 [091..0A6) | |
2 :: - Try at BB09..BB21 [04F..0B3), Finally at BB22..BB24 [0B3..0BD) | |
3 :: - Try at BB32..BB32 [150..195), Finally at BB33..BB33 [195..19D) | |
4 :: 5 - Try at BB67..BB67 [43E..449), Finally at BB68..BB70 [449..455) | |
5 :: 6 - Try at BB65..BB72 [42A..460), Finally at BB73..BB75 [460..475) | |
6 :: - Try at BB64..BB76 [41D..480), Finally at BB77..BB79 [480..48C) | |
fgFindInsertPoint(regionIndex=0, putInTryRegion=true, startBlk=BB01, endBlk=BB00, nearBlk=BB21, jumpBlk=BB00, runRarely=false) | |
fgNewBBinRegion(jumpKind=8, tryIndex=0, hndIndex=0, putInFilter=false, runRarely=false, insertAtEnd=false): inserting after BB21 | |
New Basic Block BB94 [0093] created. | |
impImportLeave - jumping out of a finally-protected try (EH#2), convert block BB21 to BBJ_ALWAYS, add BBJ_CALLFINALLY block BB94 | |
New Basic Block BB95 [0094] created. | |
impImportLeave - jumping out of a finally-protected try (EH#2), created step (BBJ_ALWAYS) block BB95 | |
impImportLeave - final destination of step blocks set to BB81 | |
impImportBlockPending for BB81 | |
After import CEE_LEAVE: | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd cheap preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 43 43 [000..00A)-> BB03 ( cond ) i IBC | |
BB02 [0001] 1 BB01 12 12 [00A..017) (return) IBC | |
BB03 [0002] 1 BB01 31 31 [017..01A)-> BB05 ( cond ) i IBC | |
BB04 [0003] 1 BB03 0 0 [01A..026) (return) rare IBC | |
BB05 [0004] 1 BB03 31 31 [026..039)-> BB25 ( cond ) i IBC | |
BB06 [0005] 1 BB05 0 0 [039..041)-> BB25 ( cond ) i rare IBC | |
BB07 [0006] 1 BB06 0 0 [041..049)-> BB25 ( cond ) i rare IBC | |
BB08 [0007] 1 BB07 0 0 [049..04F) i rare newobj IBC | |
BB09 [0008] 1 2 BB08 0 0 [04F..05C) T2 try { keep i try rare IBC | |
BB10 [0009] 1 1 BB09 0 0 [05C..05E)-> BB16 (always) T1 try { keep i try rare IBC | |
BB11 [0010] 1 1 BB16 0 0 [05E..070) T1 i rare bwd bwd-target IBC | |
BB12 [0011] 1 0 BB11 0 0 [070..07A)-> BB90 (always) T0 try { } keep i try rare bwd IBC | |
BB90 [0089] 1 1 0 0 [???..???)-> BB13 (callf ) T1 i internal rare IBC | |
BB91 [0090] 0 1 0 0 [???..???)-> BB16 (ALWAYS) T1 i internal rare IBC KEEP | |
BB13 [0012] 1 1 0 1 [07A..07E)-> BB15 ( cond ) T1 H0 finally { keep i bwd | |
BB14 [0013] 1 1 0 BB13 0 0 [07E..085) T1 H0 i rare bwd IBC | |
BB15 [0014] 2 1 0 BB14,BB13 0 0 [085..086) (finret) T1 H0 } i rare bwd IBC | |
BB16 [0015] 2 1 BB12,BB10 0 0 [086..08F)-> BB11 ( cond ) T1 i rare bwd IBC | |
BB17 [0016] 1 1 BB16 0 0 [08F..091)-> BB92 (always) T1 } i rare IBC | |
BB92 [0091] 1 2 0 0 [???..???)-> BB18 (callf ) T2 i internal rare IBC | |
BB93 [0092] 0 2 0 0 [???..???)-> BB21 (ALWAYS) T2 i internal rare IBC KEEP | |
BB18 [0017] 1 2 1 1 [091..09E)-> BB20 ( cond ) T2 H1 finally { keep | |
BB19 [0018] 1 2 1 BB18 0 0 [09E..0A5) T2 H1 rare IBC | |
BB20 [0019] 2 2 1 BB19,BB18 0 0 [0A5..0A6) (finret) T2 H1 } rare IBC | |
BB21 [0020] 1 2 BB17 0 0 [0A6..0B3)-> BB94 (always) T2 } rare IBC | |
BB94 [0093] 1 0 0 [???..???)-> BB22 (callf ) i internal rare IBC | |
BB95 [0094] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB22 [0021] 1 2 1 [0B3..0B6)-> BB24 ( cond ) H2 finally { keep | |
BB23 [0022] 1 2 BB22 0 0 [0B6..0BC) H2 rare IBC | |
BB24 [0023] 2 2 BB23,BB22 0 0 [0BC..0BD) (finret) H2 } rare IBC | |
BB25 [0024] 3 BB07,BB06,BB05 31 31 [0BD..0C7)-> BB28 ( cond ) i IBC | |
BB26 [0025] 1 BB25 0 0 [0C7..0D4)-> BB28 ( cond ) i rare IBC | |
BB27 [0026] 1 BB26 0 0 [0D4..0DB) (return) i rare IBC | |
BB28 [0027] 2 BB26,BB25 31 31 [0DB..132)-> BB30[dom(0.5806451)],BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB62,BB35,BB29[def] (switch) i IBC | |
BB29 [0028] 1 BB28 0 0 [132..137)-> BB62 (always) i rare IBC | |
BB30 [0029] 1 BB28 18 18 [137..13F)-> BB34 ( cond ) i IBC | |
BB31 [0030] 1 BB30 0 0 [13F..150) i rare IBC | |
BB32 [0031] 1 3 BB31 0 0 [150..195)-> BB88 (always) T3 try { } keep i try rare IBC | |
BB88 [0087] 1 0 0 [???..???)-> BB33 (callf ) i internal rare IBC | |
BB89 [0088] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB33 [0032] 1 3 1 [195..19D) (finret) H3 finally { } keep i | |
BB34 [0033] 1 BB30 18 18 [19D..1A5) (return) i IBC | |
BB35 [0034] 1 BB28 0 0 [1A5..1B1) (return) i rare IBC | |
BB36 [0035] 1 BB28 13 13 [1B1..1BD) (return) i IBC | |
BB37 [0036] 1 BB28 0 0 [1BD..1C5)-> BB39 ( cond ) i rare IBC | |
BB38 [0037] 1 BB37 0 0 [1C5..1D1) (return) i rare IBC | |
BB39 [0038] 1 BB37 0 0 [1D1..1DD) (return) i rare IBC | |
BB40 [0039] 1 BB28 0 0 [1DD..1E9) (return) i rare IBC | |
BB41 [0040] 1 BB28 0 0 [1E9..1F5) (return) i rare IBC | |
BB42 [0041] 1 BB28 0 0 [1F5..201) (return) i rare IBC | |
BB43 [0042] 1 BB28 0 0 [201..20D) (return) i rare IBC | |
BB44 [0043] 1 BB28 0 0 [20D..21A) (return) i rare IBC | |
BB45 [0044] 1 BB28 0 0 [21A..226) (return) i rare IBC | |
BB46 [0045] 1 BB28 0 0 [226..232) (return) i rare IBC | |
BB47 [0046] 1 BB28 0 0 [232..23E) (return) i rare IBC | |
BB48 [0047] 1 BB28 0 0 [23E..24B) (return) i rare IBC | |
BB49 [0048] 1 BB28 0 0 [24B..257) (return) i rare IBC | |
BB50 [0049] 1 BB28 0 0 [257..268) (return) i rare IBC | |
BB51 [0050] 1 BB28 0 0 [268..279)-> BB53 ( cond ) i rare IBC | |
BB52 [0051] 1 BB51 0 0 [279..27C)-> BB54 (always) i rare IBC | |
BB53 [0052] 1 BB51 0 0 [27C..27D) i rare IBC | |
BB54 [0053] 2 BB53,BB52 0 0 [27D..288)-> BB56 ( cond ) i rare IBC | |
BB55 [0054] 1 BB54 0 0 [288..28F)-> BB57 (always) i rare IBC | |
BB56 [0055] 1 BB54 0 0 [28F..294) i rare IBC | |
BB57 [0056] 2 BB56,BB55 0 0 [294..3A4)-> BB59 ( cond ) i rare IBC | |
BB58 [0057] 1 BB57 0 0 [3A4..3AB) i rare IBC | |
BB59 [0058] 2 BB58,BB57 0 0 [3AB..3CF)-> BB61 ( cond ) i rare IBC | |
BB60 [0059] 1 BB59 0 0 [3CF..3F3) i rare IBC | |
BB61 [0060] 2 BB60,BB59 0 0 [3F3..40E) (return) i rare IBC | |
BB62 [0061] 3 BB29,BB28,BB28 0 0 [40E..416)-> BB80 ( cond ) i rare IBC | |
BB63 [0062] 1 BB62 0 0 [416..41D) i rare newobj IBC | |
BB64 [0063] 1 6 BB63 0 0 [41D..42A) T6 try { keep i try rare IBC | |
BB65 [0064] 1 5 BB64 0 0 [42A..42C)-> BB71 (always) T5 try { keep i try rare IBC | |
BB66 [0065] 1 5 BB71 0 0 [42C..43E) T5 i rare bwd bwd-target IBC | |
BB67 [0066] 1 4 BB66 0 0 [43E..449)-> BB82 (always) T4 try { } keep i try rare bwd IBC | |
BB82 [0081] 1 5 0 0 [???..???)-> BB68 (callf ) T5 i internal rare IBC | |
BB83 [0082] 0 5 0 0 [???..???)-> BB71 (ALWAYS) T5 i internal rare IBC KEEP | |
BB68 [0067] 1 5 4 1 [449..44D)-> BB70 ( cond ) T5 H4 finally { keep i bwd | |
BB69 [0068] 1 5 4 BB68 0 0 [44D..454) T5 H4 i rare bwd IBC | |
BB70 [0069] 2 5 4 BB69,BB68 0 0 [454..455) (finret) T5 H4 } i rare bwd IBC | |
BB71 [0070] 2 5 BB67,BB65 0 0 [455..45E)-> BB66 ( cond ) T5 i rare bwd IBC | |
BB72 [0071] 1 5 BB71 0 0 [45E..460)-> BB84 (always) T5 } i rare IBC | |
BB84 [0083] 1 6 0 0 [???..???)-> BB73 (callf ) T6 i internal rare IBC | |
BB85 [0084] 0 6 0 0 [???..???)-> BB76 (ALWAYS) T6 i internal rare IBC KEEP | |
BB73 [0072] 1 6 5 1 [460..46D)-> BB75 ( cond ) T6 H5 finally { keep i | |
BB74 [0073] 1 6 5 BB73 0 0 [46D..474) T6 H5 i rare IBC | |
BB75 [0074] 2 6 5 BB74,BB73 0 0 [474..475) (finret) T6 H5 } i rare IBC | |
BB76 [0075] 1 6 BB72 0 0 [475..480)-> BB86 (always) T6 } i rare IBC | |
BB86 [0085] 1 0 0 [???..???)-> BB77 (callf ) i internal rare IBC | |
BB87 [0086] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB77 [0076] 1 6 1 [480..484)-> BB79 ( cond ) H6 finally { keep i | |
BB78 [0077] 1 6 BB77 0 0 [484..48B) H6 i rare IBC | |
BB79 [0078] 2 6 BB78,BB77 0 0 [48B..48C) (finret) H6 } i rare IBC | |
BB80 [0079] 1 BB62 0 0 [48C..494) (return) i rare IBC | |
BB81 [0080] 3 BB76,BB32,BB21 0 0 [494..497) (return) i rare IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table | |
index eTry, eHnd | |
0 :: 1 - Try at BB12..BB12 [070..07A), Finally at BB13..BB15 [07A..086) | |
1 :: 2 - Try at BB10..BB17 [05C..091), Finally at BB18..BB20 [091..0A6) | |
2 :: - Try at BB09..BB21 [04F..0B3), Finally at BB22..BB24 [0B3..0BD) | |
3 :: - Try at BB32..BB32 [150..195), Finally at BB33..BB33 [195..19D) | |
4 :: 5 - Try at BB67..BB67 [43E..449), Finally at BB68..BB70 [449..455) | |
5 :: 6 - Try at BB65..BB72 [42A..460), Finally at BB73..BB75 [460..475) | |
6 :: - Try at BB64..BB76 [41D..480), Finally at BB77..BB79 [480..48C) | |
impImportBlockPending for BB94 | |
Importing BB18 (PC=145) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 145 (0x091) ldloc.s 4 | |
[ 1] 147 (0x093) isinst 01000027 | |
Considering optimization of isinst from 00007FF8FD0E8FD0 (System.Collections.IEnumerator) to 00007FF8FCFBD948 (System.IDisposable) | |
Can't optimize since fromClass is inexact | |
Expanding isinst as call because inline expansion not legal | |
[ 1] 152 (0x098) stloc.s 7 | |
STMT00216 (IL 0x091... ???) | |
[000818] -AC-G------- * ASG ref | |
[000817] D------N---- +--* LCL_VAR ref V09 loc7 | |
[000816] --C-G------- \--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFINTERFACE | |
[000815] H------N---- arg0 +--* CNS_INT(h) long 0x7ff8fcfbd948 class | |
[000814] ------------ arg1 \--* LCL_VAR ref V06 loc4 | |
[ 0] 154 (0x09a) ldloc.s 7 | |
[ 1] 156 (0x09c) brfalse.s | |
STMT00217 (IL 0x09A... ???) | |
[000822] ------------ * JTRUE void | |
[000821] ------------ \--* EQ int | |
[000819] ------------ +--* LCL_VAR ref V09 loc7 | |
[000820] ------------ \--* CNS_INT ref null | |
impImportBlockPending for BB19 | |
impImportBlockPending for BB20 | |
Importing BB20 (PC=165) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 165 (0x0a5) endfinally | |
STMT00218 (IL 0x0A5... ???) | |
[000823] ------------ * RETFILT void | |
Importing BB19 (PC=158) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 158 (0x09e) ldloc.s 7 | |
[ 1] 160 (0x0a0) callvirt 0A00000D | |
In Compiler::impImportCall: opcode is callvirt, kind=2, callRetType is void, structSize is 0 | |
impDevirtualizeCall: Trying to devirtualize interface call: | |
class for 'this' is System.IDisposable (attrib 00200400) | |
base method is System.IDisposable::Dispose | |
Considering guarded devirtualization at IL offset 160 (0xa0) | |
No likely class, sorry | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'System.IDisposable:Dispose():this' | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' | |
STMT00219 (IL 0x09E... ???) | |
[000825] --C-G------- * CALLV stub void System.IDisposable.Dispose | |
[000824] ------------ this in rcx \--* LCL_VAR ref V09 loc7 | |
impImportBlockPending for BB20 | |
Importing BB22 (PC=179) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 179 (0x0b3) ldloc.3 | |
[ 1] 180 (0x0b4) brfalse.s | |
STMT00220 (IL 0x0B3... ???) | |
[000829] ------------ * JTRUE void | |
[000828] ------------ \--* EQ int | |
[000826] ------------ +--* LCL_VAR ref V05 loc3 | |
[000827] ------------ \--* CNS_INT ref null | |
impImportBlockPending for BB23 | |
impImportBlockPending for BB24 | |
Importing BB24 (PC=188) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 188 (0x0bc) endfinally | |
STMT00221 (IL 0x0BC... ???) | |
[000830] ------------ * RETFILT void | |
Importing BB23 (PC=182) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 182 (0x0b6) ldloc.3 | |
[ 1] 183 (0x0b7) callvirt 0A00000D | |
In Compiler::impImportCall: opcode is callvirt, kind=2, callRetType is void, structSize is 0 | |
impDevirtualizeCall: Trying to devirtualize interface call: | |
class for 'this' is Python.Runtime.PyList [exact] (attrib 20000000) | |
base method is System.IDisposable::Dispose | |
--- base class is interface | |
devirt to Python.Runtime.PyObject::Dispose -- exact | |
[000832] --C-G------- * CALLV stub void System.IDisposable.Dispose | |
[000831] ------------ this in rcx \--* LCL_VAR ref V05 loc3 | |
exact; can devirtualize | |
... after devirt... | |
[000832] --C-G------- * CALL nullcheck void Python.Runtime.PyObject.Dispose | |
[000831] ------------ this in rcx \--* LCL_VAR ref V05 loc3 | |
STMT00222 (IL 0x0B6... ???) | |
[000832] I-C-G------- * CALL nullcheck void Python.Runtime.PyObject.Dispose (exactContextHnd=0x00007FF9001C7A71) | |
[000831] ------------ this in rcx \--* LCL_VAR ref V05 loc3 | |
impImportBlockPending for BB24 | |
Importing BB04 (PC=026) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 26 (0x01a) call 060007D8 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00223 (IL 0x01A... ???) | |
[000833] I-C-G------- * CALL struct Python.Runtime.Runtime.get_PyNone (exactContextHnd=0x00007FF9001CEA41) | |
[ 1] 31 (0x01f) ldc.i4.0 0 | |
[ 2] 32 (0x020) newobj | |
lvaGrabTemp returning 58 (V58 tmp32) called for NewObj constructor temp. | |
STMT00224 (IL ???... ???) | |
[000838] IA---------- * ASG struct (init) | |
[000836] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V58 tmp32 | |
[000837] ------------ \--* CNS_INT int 0 | |
06000104 | |
In Compiler::impImportCall: opcode is newobj, kind=0, callRetType is void, structSize is 0 | |
Calling impNormStructVal on: | |
[000834] --C--------- * RET_EXPR struct(inl return expr [000833]) | |
lvaGrabTemp returning 59 (V59 tmp33) called for struct address for call/obj. | |
STMT00225 (IL ???... ???) | |
[000844] -AC--------- * ASG struct (copy) | |
[000842] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V59 tmp33 | |
[000834] --C--------- \--* RET_EXPR struct(inl return expr [000833]) | |
resulting tree: | |
[000847] n----------- * OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000846] ------------ \--* ADDR byref | |
[000845] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V59 tmp33 | |
STMT00226 (IL ???... ???) | |
[000841] I-C-G------- * CALL void Python.Runtime.NewReference..ctor (exactContextHnd=0x00007FF9001F4CA9) | |
[000840] ------------ this in rcx +--* ADDR byref | |
[000839] -------N---- | \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V58 tmp32 | |
[000847] n----------- arg1 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000846] ------------ | \--* ADDR byref | |
[000845] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V59 tmp33 | |
[000848] ------------ arg2 \--* PUTARG_TYPE bool | |
[000835] ------------ \--* CNS_INT int 0 | |
[ 1] 37 (0x025) ret | |
impFixupStructReturnType: retyping | |
[000849] ------------ * LCL_VAR struct<Python.Runtime.NewReference, 8> V58 tmp32 | |
STMT00227 (IL 0x025... ???) | |
[000850] ------------ * RETURN struct | |
[000849] ------------ \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V58 tmp32 | |
Importing BB02 (PC=010) of 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' | |
[ 0] 10 (0x00a) ldloc.0 | |
[ 1] 11 (0x00b) call 060000EB | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
STMT00228 (IL 0x00A... ???) | |
[000852] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000851] ------------ arg0 \--* LCL_VAR ref V02 loc0 | |
[ 1] 16 (0x010) ldc.i4.0 0 | |
[ 2] 17 (0x011) newobj | |
lvaGrabTemp returning 60 (V60 tmp34) called for NewObj constructor temp. | |
STMT00229 (IL ???... ???) | |
[000857] IA---------- * ASG struct (init) | |
[000855] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V60 tmp34 | |
[000856] ------------ \--* CNS_INT int 0 | |
06000104 | |
In Compiler::impImportCall: opcode is newobj, kind=0, callRetType is void, structSize is 0 | |
Calling impNormStructVal on: | |
[000853] --C--------- * RET_EXPR struct(inl return expr [000852]) | |
lvaGrabTemp returning 61 (V61 tmp35) called for struct address for call/obj. | |
STMT00230 (IL ???... ???) | |
[000863] -AC--------- * ASG struct (copy) | |
[000861] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V61 tmp35 | |
[000853] --C--------- \--* RET_EXPR struct(inl return expr [000852]) | |
resulting tree: | |
[000866] n----------- * OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000865] ------------ \--* ADDR byref | |
[000864] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V61 tmp35 | |
STMT00231 (IL ???... ???) | |
[000860] I-C-G------- * CALL void Python.Runtime.NewReference..ctor (exactContextHnd=0x00007FF9001F4CA9) | |
[000859] ------------ this in rcx +--* ADDR byref | |
[000858] -------N---- | \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V60 tmp34 | |
[000866] n----------- arg1 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000865] ------------ | \--* ADDR byref | |
[000864] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V61 tmp35 | |
[000867] ------------ arg2 \--* PUTARG_TYPE bool | |
[000854] ------------ \--* CNS_INT int 0 | |
[ 1] 22 (0x016) ret | |
impFixupStructReturnType: retyping | |
[000868] ------------ * LCL_VAR struct<Python.Runtime.NewReference, 8> V60 tmp34 | |
STMT00232 (IL 0x016... ???) | |
[000869] ------------ * RETURN struct | |
[000868] ------------ \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V60 tmp34 | |
After impImport() added block for try,catch,finally | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd cheap preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 43 43 [000..00A)-> BB03 ( cond ) i IBC | |
BB02 [0001] 1 BB01 12 12 [00A..017) (return) i IBC | |
BB03 [0002] 1 BB01 31 31 [017..01A)-> BB05 ( cond ) i IBC | |
BB04 [0003] 1 BB03 0 0 [01A..026) (return) i rare IBC | |
BB05 [0004] 1 BB03 31 31 [026..039)-> BB25 ( cond ) i IBC | |
BB06 [0005] 1 BB05 0 0 [039..041)-> BB25 ( cond ) i rare IBC | |
BB07 [0006] 1 BB06 0 0 [041..049)-> BB25 ( cond ) i rare IBC | |
BB08 [0007] 1 BB07 0 0 [049..04F) i rare newobj IBC | |
BB09 [0008] 1 2 BB08 0 0 [04F..05C) T2 try { keep i try rare IBC | |
BB10 [0009] 1 1 BB09 0 0 [05C..05E)-> BB16 (always) T1 try { keep i try rare IBC | |
BB11 [0010] 1 1 BB16 0 0 [05E..070) T1 i rare bwd bwd-target IBC | |
BB12 [0011] 1 0 BB11 0 0 [070..07A)-> BB90 (always) T0 try { } keep i try rare bwd IBC | |
BB90 [0089] 1 1 0 0 [???..???)-> BB13 (callf ) T1 i internal rare IBC | |
BB91 [0090] 0 1 0 0 [???..???)-> BB16 (ALWAYS) T1 i internal rare IBC KEEP | |
BB13 [0012] 1 1 0 1 [07A..07E)-> BB15 ( cond ) T1 H0 finally { keep i bwd | |
BB14 [0013] 1 1 0 BB13 0 0 [07E..085) T1 H0 i rare bwd IBC | |
BB15 [0014] 2 1 0 BB14,BB13 0 0 [085..086) (finret) T1 H0 } i rare bwd IBC | |
BB16 [0015] 2 1 BB12,BB10 0 0 [086..08F)-> BB11 ( cond ) T1 i rare bwd IBC | |
BB17 [0016] 1 1 BB16 0 0 [08F..091)-> BB92 (always) T1 } i rare IBC | |
BB92 [0091] 1 2 0 0 [???..???)-> BB18 (callf ) T2 i internal rare IBC | |
BB93 [0092] 0 2 0 0 [???..???)-> BB21 (ALWAYS) T2 i internal rare IBC KEEP | |
BB18 [0017] 1 2 1 1 [091..09E)-> BB20 ( cond ) T2 H1 finally { keep i | |
BB19 [0018] 1 2 1 BB18 0 0 [09E..0A5) T2 H1 i rare IBC | |
BB20 [0019] 2 2 1 BB19,BB18 0 0 [0A5..0A6) (finret) T2 H1 } i rare IBC | |
BB21 [0020] 1 2 BB17 0 0 [0A6..0B3)-> BB94 (always) T2 } i rare IBC | |
BB94 [0093] 1 0 0 [???..???)-> BB22 (callf ) i internal rare IBC | |
BB95 [0094] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB22 [0021] 1 2 1 [0B3..0B6)-> BB24 ( cond ) H2 finally { keep i | |
BB23 [0022] 1 2 BB22 0 0 [0B6..0BC) H2 i rare IBC | |
BB24 [0023] 2 2 BB23,BB22 0 0 [0BC..0BD) (finret) H2 } i rare IBC | |
BB25 [0024] 3 BB07,BB06,BB05 31 31 [0BD..0C7)-> BB28 ( cond ) i IBC | |
BB26 [0025] 1 BB25 0 0 [0C7..0D4)-> BB28 ( cond ) i rare IBC | |
BB27 [0026] 1 BB26 0 0 [0D4..0DB) (return) i rare IBC | |
BB28 [0027] 2 BB26,BB25 31 31 [0DB..132)-> BB30[dom(0.5806451)],BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB62,BB35,BB29[def] (switch) i IBC | |
BB29 [0028] 1 BB28 0 0 [132..137)-> BB62 (always) i rare IBC | |
BB30 [0029] 1 BB28 18 18 [137..13F)-> BB34 ( cond ) i IBC | |
BB31 [0030] 1 BB30 0 0 [13F..150) i rare IBC | |
BB32 [0031] 1 3 BB31 0 0 [150..195)-> BB88 (always) T3 try { } keep i try rare IBC | |
BB88 [0087] 1 0 0 [???..???)-> BB33 (callf ) i internal rare IBC | |
BB89 [0088] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB33 [0032] 1 3 1 [195..19D) (finret) H3 finally { } keep i | |
BB34 [0033] 1 BB30 18 18 [19D..1A5) (return) i IBC | |
BB35 [0034] 1 BB28 0 0 [1A5..1B1) (return) i rare IBC | |
BB36 [0035] 1 BB28 13 13 [1B1..1BD) (return) i IBC | |
BB37 [0036] 1 BB28 0 0 [1BD..1C5)-> BB39 ( cond ) i rare IBC | |
BB38 [0037] 1 BB37 0 0 [1C5..1D1) (return) i rare IBC | |
BB39 [0038] 1 BB37 0 0 [1D1..1DD) (return) i rare IBC | |
BB40 [0039] 1 BB28 0 0 [1DD..1E9) (return) i rare IBC | |
BB41 [0040] 1 BB28 0 0 [1E9..1F5) (return) i rare IBC | |
BB42 [0041] 1 BB28 0 0 [1F5..201) (return) i rare IBC | |
BB43 [0042] 1 BB28 0 0 [201..20D) (return) i rare IBC | |
BB44 [0043] 1 BB28 0 0 [20D..21A) (return) i rare IBC | |
BB45 [0044] 1 BB28 0 0 [21A..226) (return) i rare IBC | |
BB46 [0045] 1 BB28 0 0 [226..232) (return) i rare IBC | |
BB47 [0046] 1 BB28 0 0 [232..23E) (return) i rare IBC | |
BB48 [0047] 1 BB28 0 0 [23E..24B) (return) i rare IBC | |
BB49 [0048] 1 BB28 0 0 [24B..257) (return) i rare IBC | |
BB50 [0049] 1 BB28 0 0 [257..268) (return) i rare IBC | |
BB51 [0050] 1 BB28 0 0 [268..279)-> BB53 ( cond ) i rare IBC | |
BB52 [0051] 1 BB51 0 0 [279..27C)-> BB54 (always) i rare IBC | |
BB53 [0052] 1 BB51 0 0 [27C..27D) i rare IBC | |
BB54 [0053] 2 BB53,BB52 0 0 [27D..288)-> BB56 ( cond ) i rare IBC | |
BB55 [0054] 1 BB54 0 0 [288..28F)-> BB57 (always) i rare IBC | |
BB56 [0055] 1 BB54 0 0 [28F..294) i rare IBC | |
BB57 [0056] 2 BB56,BB55 0 0 [294..3A4)-> BB59 ( cond ) i rare IBC | |
BB58 [0057] 1 BB57 0 0 [3A4..3AB) i rare IBC | |
BB59 [0058] 2 BB58,BB57 0 0 [3AB..3CF)-> BB61 ( cond ) i rare IBC | |
BB60 [0059] 1 BB59 0 0 [3CF..3F3) i rare IBC | |
BB61 [0060] 2 BB60,BB59 0 0 [3F3..40E) (return) i rare IBC | |
BB62 [0061] 3 BB29,BB28,BB28 0 0 [40E..416)-> BB80 ( cond ) i rare IBC | |
BB63 [0062] 1 BB62 0 0 [416..41D) i rare newobj IBC | |
BB64 [0063] 1 6 BB63 0 0 [41D..42A) T6 try { keep i try rare IBC | |
BB65 [0064] 1 5 BB64 0 0 [42A..42C)-> BB71 (always) T5 try { keep i try rare IBC | |
BB66 [0065] 1 5 BB71 0 0 [42C..43E) T5 i rare bwd bwd-target IBC | |
BB67 [0066] 1 4 BB66 0 0 [43E..449)-> BB82 (always) T4 try { } keep i try rare bwd IBC | |
BB82 [0081] 1 5 0 0 [???..???)-> BB68 (callf ) T5 i internal rare IBC | |
BB83 [0082] 0 5 0 0 [???..???)-> BB71 (ALWAYS) T5 i internal rare IBC KEEP | |
BB68 [0067] 1 5 4 1 [449..44D)-> BB70 ( cond ) T5 H4 finally { keep i bwd | |
BB69 [0068] 1 5 4 BB68 0 0 [44D..454) T5 H4 i rare bwd IBC | |
BB70 [0069] 2 5 4 BB69,BB68 0 0 [454..455) (finret) T5 H4 } i rare bwd IBC | |
BB71 [0070] 2 5 BB67,BB65 0 0 [455..45E)-> BB66 ( cond ) T5 i rare bwd IBC | |
BB72 [0071] 1 5 BB71 0 0 [45E..460)-> BB84 (always) T5 } i rare IBC | |
BB84 [0083] 1 6 0 0 [???..???)-> BB73 (callf ) T6 i internal rare IBC | |
BB85 [0084] 0 6 0 0 [???..???)-> BB76 (ALWAYS) T6 i internal rare IBC KEEP | |
BB73 [0072] 1 6 5 1 [460..46D)-> BB75 ( cond ) T6 H5 finally { keep i | |
BB74 [0073] 1 6 5 BB73 0 0 [46D..474) T6 H5 i rare IBC | |
BB75 [0074] 2 6 5 BB74,BB73 0 0 [474..475) (finret) T6 H5 } i rare IBC | |
BB76 [0075] 1 6 BB72 0 0 [475..480)-> BB86 (always) T6 } i rare IBC | |
BB86 [0085] 1 0 0 [???..???)-> BB77 (callf ) i internal rare IBC | |
BB87 [0086] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB77 [0076] 1 6 1 [480..484)-> BB79 ( cond ) H6 finally { keep i | |
BB78 [0077] 1 6 BB77 0 0 [484..48B) H6 i rare IBC | |
BB79 [0078] 2 6 BB78,BB77 0 0 [48B..48C) (finret) H6 } i rare IBC | |
BB80 [0079] 1 BB62 0 0 [48C..494) (return) i rare IBC | |
BB81 [0080] 3 BB76,BB32,BB21 0 0 [494..497) (return) i rare IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
** Note: root method IL was partially imported -- imported 1162 of 1175 bytes of method IL | |
*************** Finishing PHASE Importation | |
Trees after Importation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 43 43 [000..00A)-> BB03 ( cond ) i IBC | |
BB02 [0001] 1 12 12 [00A..017) (return) i IBC | |
BB03 [0002] 1 31 31 [017..01A)-> BB05 ( cond ) i IBC | |
BB04 [0003] 1 0 0 [01A..026) (return) i rare IBC | |
BB05 [0004] 1 31 31 [026..039)-> BB25 ( cond ) i IBC | |
BB06 [0005] 1 0 0 [039..041)-> BB25 ( cond ) i rare IBC | |
BB07 [0006] 1 0 0 [041..049)-> BB25 ( cond ) i rare IBC | |
BB08 [0007] 1 0 0 [049..04F) i rare newobj IBC | |
BB09 [0008] 1 2 0 0 [04F..05C) T2 try { keep i try rare IBC | |
BB10 [0009] 1 1 0 0 [05C..05E)-> BB16 (always) T1 try { keep i try rare IBC | |
BB11 [0010] 1 1 0 0 [05E..070) T1 i rare bwd bwd-target IBC | |
BB12 [0011] 1 0 0 0 [070..07A)-> BB90 (always) T0 try { } keep i try rare bwd IBC | |
BB90 [0089] 1 1 0 0 [???..???)-> BB13 (callf ) T1 i internal rare IBC | |
BB91 [0090] 0 1 0 0 [???..???)-> BB16 (ALWAYS) T1 i internal rare IBC KEEP | |
BB13 [0012] 1 1 0 1 [07A..07E)-> BB15 ( cond ) T1 H0 finally { keep i bwd | |
BB14 [0013] 1 1 0 0 0 [07E..085) T1 H0 i rare bwd IBC | |
BB15 [0014] 2 1 0 0 0 [085..086) (finret) T1 H0 } i rare bwd IBC | |
BB16 [0015] 2 1 0 0 [086..08F)-> BB11 ( cond ) T1 i rare bwd IBC | |
BB17 [0016] 1 1 0 0 [08F..091)-> BB92 (always) T1 } i rare IBC | |
BB92 [0091] 1 2 0 0 [???..???)-> BB18 (callf ) T2 i internal rare IBC | |
BB93 [0092] 0 2 0 0 [???..???)-> BB21 (ALWAYS) T2 i internal rare IBC KEEP | |
BB18 [0017] 1 2 1 1 [091..09E)-> BB20 ( cond ) T2 H1 finally { keep i | |
BB19 [0018] 1 2 1 0 0 [09E..0A5) T2 H1 i rare IBC | |
BB20 [0019] 2 2 1 0 0 [0A5..0A6) (finret) T2 H1 } i rare IBC | |
BB21 [0020] 1 2 0 0 [0A6..0B3)-> BB94 (always) T2 } i rare IBC | |
BB94 [0093] 1 0 0 [???..???)-> BB22 (callf ) i internal rare IBC | |
BB95 [0094] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB22 [0021] 1 2 1 [0B3..0B6)-> BB24 ( cond ) H2 finally { keep i | |
BB23 [0022] 1 2 0 0 [0B6..0BC) H2 i rare IBC | |
BB24 [0023] 2 2 0 0 [0BC..0BD) (finret) H2 } i rare IBC | |
BB25 [0024] 3 31 31 [0BD..0C7)-> BB28 ( cond ) i IBC | |
BB26 [0025] 1 0 0 [0C7..0D4)-> BB28 ( cond ) i rare IBC | |
BB27 [0026] 1 0 0 [0D4..0DB) (return) i rare IBC | |
BB28 [0027] 2 31 31 [0DB..132)-> BB30[dom(0.5806451)],BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB62,BB35,BB29[def] (switch) i IBC | |
BB29 [0028] 1 0 0 [132..137)-> BB62 (always) i rare IBC | |
BB30 [0029] 1 18 18 [137..13F)-> BB34 ( cond ) i IBC | |
BB31 [0030] 1 0 0 [13F..150) i rare IBC | |
BB32 [0031] 1 3 0 0 [150..195)-> BB88 (always) T3 try { } keep i try rare IBC | |
BB88 [0087] 1 0 0 [???..???)-> BB33 (callf ) i internal rare IBC | |
BB89 [0088] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB33 [0032] 1 3 1 [195..19D) (finret) H3 finally { } keep i | |
BB34 [0033] 1 18 18 [19D..1A5) (return) i IBC | |
BB35 [0034] 1 0 0 [1A5..1B1) (return) i rare IBC | |
BB36 [0035] 1 13 13 [1B1..1BD) (return) i IBC | |
BB37 [0036] 1 0 0 [1BD..1C5)-> BB39 ( cond ) i rare IBC | |
BB38 [0037] 1 0 0 [1C5..1D1) (return) i rare IBC | |
BB39 [0038] 1 0 0 [1D1..1DD) (return) i rare IBC | |
BB40 [0039] 1 0 0 [1DD..1E9) (return) i rare IBC | |
BB41 [0040] 1 0 0 [1E9..1F5) (return) i rare IBC | |
BB42 [0041] 1 0 0 [1F5..201) (return) i rare IBC | |
BB43 [0042] 1 0 0 [201..20D) (return) i rare IBC | |
BB44 [0043] 1 0 0 [20D..21A) (return) i rare IBC | |
BB45 [0044] 1 0 0 [21A..226) (return) i rare IBC | |
BB46 [0045] 1 0 0 [226..232) (return) i rare IBC | |
BB47 [0046] 1 0 0 [232..23E) (return) i rare IBC | |
BB48 [0047] 1 0 0 [23E..24B) (return) i rare IBC | |
BB49 [0048] 1 0 0 [24B..257) (return) i rare IBC | |
BB50 [0049] 1 0 0 [257..268) (return) i rare IBC | |
BB51 [0050] 1 0 0 [268..279)-> BB53 ( cond ) i rare IBC | |
BB52 [0051] 1 0 0 [279..27C)-> BB54 (always) i rare IBC | |
BB53 [0052] 1 0 0 [27C..27D) i rare IBC | |
BB54 [0053] 2 0 0 [27D..288)-> BB56 ( cond ) i rare IBC | |
BB55 [0054] 1 0 0 [288..28F)-> BB57 (always) i rare IBC | |
BB56 [0055] 1 0 0 [28F..294) i rare IBC | |
BB57 [0056] 2 0 0 [294..3A4)-> BB59 ( cond ) i rare IBC | |
BB58 [0057] 1 0 0 [3A4..3AB) i rare IBC | |
BB59 [0058] 2 0 0 [3AB..3CF)-> BB61 ( cond ) i rare IBC | |
BB60 [0059] 1 0 0 [3CF..3F3) i rare IBC | |
BB61 [0060] 2 0 0 [3F3..40E) (return) i rare IBC | |
BB62 [0061] 3 0 0 [40E..416)-> BB80 ( cond ) i rare IBC | |
BB63 [0062] 1 0 0 [416..41D) i rare newobj IBC | |
BB64 [0063] 1 6 0 0 [41D..42A) T6 try { keep i try rare IBC | |
BB65 [0064] 1 5 0 0 [42A..42C)-> BB71 (always) T5 try { keep i try rare IBC | |
BB66 [0065] 1 5 0 0 [42C..43E) T5 i rare bwd bwd-target IBC | |
BB67 [0066] 1 4 0 0 [43E..449)-> BB82 (always) T4 try { } keep i try rare bwd IBC | |
BB82 [0081] 1 5 0 0 [???..???)-> BB68 (callf ) T5 i internal rare IBC | |
BB83 [0082] 0 5 0 0 [???..???)-> BB71 (ALWAYS) T5 i internal rare IBC KEEP | |
BB68 [0067] 1 5 4 1 [449..44D)-> BB70 ( cond ) T5 H4 finally { keep i bwd | |
BB69 [0068] 1 5 4 0 0 [44D..454) T5 H4 i rare bwd IBC | |
BB70 [0069] 2 5 4 0 0 [454..455) (finret) T5 H4 } i rare bwd IBC | |
BB71 [0070] 2 5 0 0 [455..45E)-> BB66 ( cond ) T5 i rare bwd IBC | |
BB72 [0071] 1 5 0 0 [45E..460)-> BB84 (always) T5 } i rare IBC | |
BB84 [0083] 1 6 0 0 [???..???)-> BB73 (callf ) T6 i internal rare IBC | |
BB85 [0084] 0 6 0 0 [???..???)-> BB76 (ALWAYS) T6 i internal rare IBC KEEP | |
BB73 [0072] 1 6 5 1 [460..46D)-> BB75 ( cond ) T6 H5 finally { keep i | |
BB74 [0073] 1 6 5 0 0 [46D..474) T6 H5 i rare IBC | |
BB75 [0074] 2 6 5 0 0 [474..475) (finret) T6 H5 } i rare IBC | |
BB76 [0075] 1 6 0 0 [475..480)-> BB86 (always) T6 } i rare IBC | |
BB86 [0085] 1 0 0 [???..???)-> BB77 (callf ) i internal rare IBC | |
BB87 [0086] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB77 [0076] 1 6 1 [480..484)-> BB79 ( cond ) H6 finally { keep i | |
BB78 [0077] 1 6 0 0 [484..48B) H6 i rare IBC | |
BB79 [0078] 2 6 0 0 [48B..48C) (finret) H6 } i rare IBC | |
BB80 [0079] 1 0 0 [48C..494) (return) i rare IBC | |
BB81 [0080] 3 0 0 [494..497) (return) i rare IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..00A) -> BB03 (cond), preds={} succs={BB02,BB03} | |
***** BB01 | |
STMT00000 (IL 0x000...0x006) | |
[000004] -AC-G------- * ASG ref | |
[000003] D------N---- +--* LCL_VAR ref V02 loc0 | |
[000002] --C-G------- \--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFCLASS | |
[000001] H------N---- arg0 +--* CNS_INT(h) long 0x7ff9001c7a70 class | |
[000000] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB01 | |
STMT00001 (IL 0x007...0x008) | |
[000008] ------------ * JTRUE void | |
[000007] ------------ \--* EQ int | |
[000005] ------------ +--* LCL_VAR ref V02 loc0 | |
[000006] ------------ \--* CNS_INT ref null | |
------------ BB02 [00A..017) (return), preds={} succs={} | |
***** BB02 | |
STMT00228 (IL 0x00A...0x016) | |
[000852] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000851] ------------ arg0 \--* LCL_VAR ref V02 loc0 | |
***** BB02 | |
STMT00229 (IL ???... ???) | |
[000857] IA---------- * ASG struct (init) | |
[000855] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V60 tmp34 | |
[000856] ------------ \--* CNS_INT int 0 | |
***** BB02 | |
STMT00230 (IL ???... ???) | |
[000863] -AC--------- * ASG struct (copy) | |
[000861] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V61 tmp35 | |
[000853] --C--------- \--* RET_EXPR struct(inl return expr [000852]) | |
***** BB02 | |
STMT00231 (IL ???... ???) | |
[000860] I-C-G------- * CALL void Python.Runtime.NewReference..ctor (exactContextHnd=0x00007FF9001F4CA9) | |
[000859] ------------ this in rcx +--* ADDR byref | |
[000858] -------N---- | \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V60 tmp34 | |
[000866] n----------- arg1 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000865] ------------ | \--* ADDR byref | |
[000864] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V61 tmp35 | |
[000867] ------------ arg2 \--* PUTARG_TYPE bool | |
[000854] ------------ \--* CNS_INT int 0 | |
***** BB02 | |
STMT00232 (IL 0x016... ???) | |
[000869] ------------ * RETURN struct | |
[000868] ------------ \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V60 tmp34 | |
------------ BB03 [017..01A) -> BB05 (cond), preds={} succs={BB04,BB05} | |
***** BB03 | |
STMT00002 (IL 0x017...0x018) | |
[000012] ------------ * JTRUE void | |
[000011] ------------ \--* NE int | |
[000009] ------------ +--* LCL_VAR ref V00 arg0 | |
[000010] ------------ \--* CNS_INT ref null | |
------------ BB04 [01A..026) (return), preds={} succs={} | |
***** BB04 | |
STMT00223 (IL 0x01A...0x025) | |
[000833] I-C-G------- * CALL struct Python.Runtime.Runtime.get_PyNone (exactContextHnd=0x00007FF9001CEA41) | |
***** BB04 | |
STMT00224 (IL ???... ???) | |
[000838] IA---------- * ASG struct (init) | |
[000836] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V58 tmp32 | |
[000837] ------------ \--* CNS_INT int 0 | |
***** BB04 | |
STMT00225 (IL ???... ???) | |
[000844] -AC--------- * ASG struct (copy) | |
[000842] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V59 tmp33 | |
[000834] --C--------- \--* RET_EXPR struct(inl return expr [000833]) | |
***** BB04 | |
STMT00226 (IL ???... ???) | |
[000841] I-C-G------- * CALL void Python.Runtime.NewReference..ctor (exactContextHnd=0x00007FF9001F4CA9) | |
[000840] ------------ this in rcx +--* ADDR byref | |
[000839] -------N---- | \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V58 tmp32 | |
[000847] n----------- arg1 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000846] ------------ | \--* ADDR byref | |
[000845] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V59 tmp33 | |
[000848] ------------ arg2 \--* PUTARG_TYPE bool | |
[000835] ------------ \--* CNS_INT int 0 | |
***** BB04 | |
STMT00227 (IL 0x025... ???) | |
[000850] ------------ * RETURN struct | |
[000849] ------------ \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V58 tmp32 | |
------------ BB05 [026..039) -> BB25 (cond), preds={} succs={BB06,BB25} | |
***** BB05 | |
STMT00003 (IL 0x026...0x02C) | |
[000016] -ACX-------- * ASG ref | |
[000015] D------N---- +--* LCL_VAR ref V01 arg1 | |
[000014] --CX-------- \--* INTRINSIC ref objGetType | |
[000013] ------------ \--* LCL_VAR ref V00 arg0 | |
***** BB05 | |
STMT00004 (IL 0x02E...0x034) | |
[000018] &-C-G------- * CALLV vt-ind int System.Type.get_IsGenericType (exactContextHnd=0x00007FF8FCE2C079) | |
[000017] ------------ this in rcx \--* LCL_VAR ref V01 arg1 | |
***** BB05 | |
STMT00005 (IL ???... ???) | |
[000022] --C--------- * JTRUE void | |
[000021] --C--------- \--* EQ int | |
[000019] --C--------- +--* RET_EXPR int (inl return expr [000018]) | |
[000020] ------------ \--* CNS_INT int 0 | |
------------ BB06 [039..041) -> BB25 (cond), preds={} succs={BB07,BB25} | |
***** BB06 | |
STMT00200 (IL 0x039...0x03F) | |
[000762] --C-G------- * JTRUE void | |
[000761] --C-G------- \--* EQ int | |
[000759] --C-G------- +--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFINTERFACE | |
[000758] H------N---- arg0 | +--* CNS_INT(h) long 0x7ff8fced02e8 class | |
[000757] ------------ arg1 | \--* LCL_VAR ref V00 arg0 | |
[000760] ------------ \--* CNS_INT ref null | |
------------ BB07 [041..049) -> BB25 (cond), preds={} succs={BB08,BB25} | |
***** BB07 | |
STMT00201 (IL 0x041...0x047) | |
[000768] --C-G------- * JTRUE void | |
[000767] --C-G------- \--* NE int | |
[000765] --C-G------- +--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFINTERFACE | |
[000764] H------N---- arg0 | +--* CNS_INT(h) long 0x7ff8fd3b9808 class | |
[000763] ------------ arg1 | \--* LCL_VAR ref V00 arg0 | |
[000766] ------------ \--* CNS_INT ref null | |
------------ BB08 [049..04F), preds={} succs={BB09} | |
***** BB08 | |
STMT00202 (IL 0x049...0x04E) | |
[000772] -A---------- * ASG ref | |
[000771] D------N---- +--* LCL_VAR ref V57 tmp31 | |
[000770] ------------ \--* ALLOCOBJ ref | |
[000769] H----------- \--* CNS_INT(h) long 0x7ff9014b26a0 method | |
***** BB08 | |
STMT00203 (IL ???... ???) | |
[000774] I-C-G------- * CALL void Python.Runtime.PyList..ctor (exactContextHnd=0x00007FF9014B26A1) | |
[000773] ------------ this in rcx \--* LCL_VAR ref V57 tmp31 | |
***** BB08 | |
STMT00204 (IL 0x04E... ???) | |
[000777] -A---------- * ASG ref | |
[000776] D------N---- +--* LCL_VAR ref V05 loc3 | |
[000775] ------------ \--* LCL_VAR ref V57 tmp31 | |
------------ BB09 [04F..05C), preds={} succs={BB10} | |
***** BB09 | |
STMT00205 (IL 0x04F...0x05A) | |
[000783] -ACXG------- * ASG ref | |
[000782] D------N---- +--* LCL_VAR ref V06 loc4 | |
[000781] --CXG------- \--* CALLV stub ref System.Collections.IEnumerable.GetEnumerator | |
[000780] --CXG------- this in rcx \--* CALL help ref HELPER.CORINFO_HELP_CHKCASTINTERFACE | |
[000779] H------N---- arg0 +--* CNS_INT(h) long 0x7ff8fce2fce8 class | |
[000778] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
------------ BB10 [05C..05E) -> BB16 (always), preds={} succs={BB16} | |
------------ BB11 [05E..070), preds={} succs={BB12} | |
***** BB11 | |
STMT00207 (IL 0x05E...0x065) | |
[000792] -AC-G------- * ASG ref | |
[000791] D------N---- +--* LCL_VAR ref V07 loc5 | |
[000790] --C-G------- \--* CALLV stub ref System.Collections.IEnumerator.get_Current | |
[000789] ------------ this in rcx \--* LCL_VAR ref V06 loc4 | |
***** BB11 | |
STMT00208 (IL 0x067...0x06E) | |
[000794] I-C-G------- * CALL ref Python.Runtime.ConverterExtension.ToPython (exactContextHnd=0x00007FF901486E29) | |
[000793] ------------ arg0 \--* LCL_VAR ref V07 loc5 | |
***** BB11 | |
STMT00209 (IL ???... ???) | |
[000797] -AC--------- * ASG ref | |
[000796] D------N---- +--* LCL_VAR ref V08 loc6 | |
[000795] --C--------- \--* RET_EXPR ref (inl return expr [000794]) | |
------------ BB12 [070..07A) -> BB90 (always), preds={} succs={BB90} | |
***** BB12 | |
STMT00210 (IL 0x070...0x078) | |
[000800] I-C-G------- * CALL nullcheck void Python.Runtime.PyList.Append (exactContextHnd=0x00007FF9014B26A1) | |
[000798] ------------ this in rcx +--* LCL_VAR ref V05 loc3 | |
[000799] ------------ arg1 \--* LCL_VAR ref V08 loc6 | |
------------ BB90 [???..???) -> BB13 (callf), preds={} succs={BB13} | |
------------ BB91 [???..???) -> BB16 (ALWAYS), preds={} succs={BB16} | |
------------ BB13 [07A..07E) -> BB15 (cond), preds={} succs={BB14,BB15} | |
***** BB13 | |
STMT00211 (IL 0x07A...0x07C) | |
[000804] ------------ * JTRUE void | |
[000803] ------------ \--* EQ int | |
[000801] ------------ +--* LCL_VAR ref V08 loc6 | |
[000802] ------------ \--* CNS_INT ref null | |
------------ BB14 [07E..085), preds={} succs={BB15} | |
***** BB14 | |
STMT00213 (IL 0x07E...0x080) | |
[000807] --C-G------- * CALLV stub void System.IDisposable.Dispose | |
[000806] ------------ this in rcx \--* LCL_VAR ref V08 loc6 | |
------------ BB15 [085..086) (finret), preds={} succs={BB91} | |
***** BB15 | |
STMT00212 (IL 0x085...0x085) | |
[000805] ------------ * RETFILT void | |
------------ BB16 [086..08F) -> BB11 (cond), preds={} succs={BB17,BB11} | |
***** BB16 | |
STMT00206 (IL 0x086...0x08D) | |
[000788] --C-G------- * JTRUE void | |
[000787] --C-G------- \--* NE int | |
[000785] --C-G------- +--* CALLV stub int System.Collections.IEnumerator.MoveNext | |
[000784] ------------ this in rcx | \--* LCL_VAR ref V06 loc4 | |
[000786] ------------ \--* CNS_INT int 0 | |
------------ BB17 [08F..091) -> BB92 (always), preds={} succs={BB92} | |
------------ BB92 [???..???) -> BB18 (callf), preds={} succs={BB18} | |
------------ BB93 [???..???) -> BB21 (ALWAYS), preds={} succs={BB21} | |
------------ BB18 [091..09E) -> BB20 (cond), preds={} succs={BB19,BB20} | |
***** BB18 | |
STMT00216 (IL 0x091...0x098) | |
[000818] -AC-G------- * ASG ref | |
[000817] D------N---- +--* LCL_VAR ref V09 loc7 | |
[000816] --C-G------- \--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFINTERFACE | |
[000815] H------N---- arg0 +--* CNS_INT(h) long 0x7ff8fcfbd948 class | |
[000814] ------------ arg1 \--* LCL_VAR ref V06 loc4 | |
***** BB18 | |
STMT00217 (IL 0x09A...0x09C) | |
[000822] ------------ * JTRUE void | |
[000821] ------------ \--* EQ int | |
[000819] ------------ +--* LCL_VAR ref V09 loc7 | |
[000820] ------------ \--* CNS_INT ref null | |
------------ BB19 [09E..0A5), preds={} succs={BB20} | |
***** BB19 | |
STMT00219 (IL 0x09E...0x0A0) | |
[000825] --C-G------- * CALLV stub void System.IDisposable.Dispose | |
[000824] ------------ this in rcx \--* LCL_VAR ref V09 loc7 | |
------------ BB20 [0A5..0A6) (finret), preds={} succs={BB93} | |
***** BB20 | |
STMT00218 (IL 0x0A5...0x0A5) | |
[000823] ------------ * RETFILT void | |
------------ BB21 [0A6..0B3) -> BB94 (always), preds={} succs={BB94} | |
***** BB21 | |
STMT00214 (IL 0x0A6...0x0AC) | |
[000809] I-C-G------- * CALL struct Python.Runtime.PyObjectExtensions.NewReferenceOrNull (exactContextHnd=0x00007FF9026AD409) | |
[000808] ------------ arg0 \--* LCL_VAR ref V05 loc3 | |
***** BB21 | |
STMT00215 (IL ???... ???) | |
[000813] -AC--------- * ASG struct (copy) | |
[000811] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V10 loc8 | |
[000810] --C--------- \--* RET_EXPR struct(inl return expr [000809]) | |
------------ BB94 [???..???) -> BB22 (callf), preds={} succs={BB22} | |
------------ BB95 [???..???) -> BB81 (ALWAYS), preds={} succs={BB81} | |
------------ BB22 [0B3..0B6) -> BB24 (cond), preds={} succs={BB23,BB24} | |
***** BB22 | |
STMT00220 (IL 0x0B3...0x0B4) | |
[000829] ------------ * JTRUE void | |
[000828] ------------ \--* EQ int | |
[000826] ------------ +--* LCL_VAR ref V05 loc3 | |
[000827] ------------ \--* CNS_INT ref null | |
------------ BB23 [0B6..0BC), preds={} succs={BB24} | |
***** BB23 | |
STMT00222 (IL 0x0B6...0x0B7) | |
[000832] I-C-G------- * CALL nullcheck void Python.Runtime.PyObject.Dispose (exactContextHnd=0x00007FF9001C7A71) | |
[000831] ------------ this in rcx \--* LCL_VAR ref V05 loc3 | |
------------ BB24 [0BC..0BD) (finret), preds={} succs={BB95} | |
***** BB24 | |
STMT00221 (IL 0x0BC...0x0BC) | |
[000830] ------------ * RETFILT void | |
------------ BB25 [0BD..0C7) -> BB28 (cond), preds={} succs={BB26,BB28} | |
***** BB25 | |
STMT00006 (IL 0x0BD...0x0C3) | |
[000027] -AC-G------- * ASG ref | |
[000026] D------N---- +--* LCL_VAR ref V03 loc1 | |
[000025] --C-G------- \--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFINTERFACE | |
[000024] H------N---- arg0 +--* CNS_INT(h) long 0x7ff9014e0530 class | |
[000023] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB25 | |
STMT00007 (IL 0x0C4...0x0C5) | |
[000031] ------------ * JTRUE void | |
[000030] ------------ \--* EQ int | |
[000028] ------------ +--* LCL_VAR ref V03 loc1 | |
[000029] ------------ \--* CNS_INT ref null | |
------------ BB26 [0C7..0D4) -> BB28 (cond), preds={} succs={BB27,BB28} | |
***** BB26 | |
STMT00198 (IL 0x0C7...0x0D2) | |
[000753] --C-G------- * JTRUE void | |
[000752] --C-G------- \--* NE int | |
[000750] --C-G------- +--* CALL int System.Func`2[__Canon,Boolean][System.__Canon,System.Boolean].Invoke | |
[000748] ----G------- this in rcx | +--* FIELD ref IsTransparentProxy | |
[000749] ------------ arg1 | \--* LCL_VAR ref V03 loc1 | |
[000751] ------------ \--* CNS_INT int 0 | |
------------ BB27 [0D4..0DB) (return), preds={} succs={} | |
***** BB27 | |
STMT00199 (IL 0x0D4...0x0DA) | |
[000756] --C-G------- * RETURN struct | |
[000755] --C-G------- \--* CALL struct Python.Runtime.ClassDerivedObject.ToPython | |
[000754] ------------ arg0 \--* LCL_VAR ref V03 loc1 | |
------------ BB28 [0DB..132) -> BB30[dom(0.5806451)],BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB62,BB35,BB29[def] (switch), preds={} succs={BB30,BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB35,BB29} | |
***** BB28 | |
STMT00008 (IL 0x0DB...0x0E1) | |
[000033] I-C-G------- * CALL int System.Type.GetTypeCode (exactContextHnd=0x00007FF8FCE2C079) | |
[000032] ------------ arg0 \--* LCL_VAR ref V01 arg1 | |
***** BB28 | |
STMT00009 (IL ???... ???) | |
[000036] -AC--------- * ASG int | |
[000035] D------N---- +--* LCL_VAR int V04 loc2 | |
[000034] --C--------- \--* RET_EXPR int (inl return expr [000033]) | |
***** BB28 | |
STMT00010 (IL 0x0E2...0x0E5) | |
[000040] ------------ * SWITCH void | |
[000039] ------------ \--* SUB int | |
[000037] ------------ +--* LCL_VAR int V04 loc2 | |
[000038] ------------ \--* CNS_INT int 1 | |
------------ BB29 [132..137) -> BB62 (always), preds={} succs={BB62} | |
------------ BB30 [137..13F) -> BB34 (cond), preds={} succs={BB31,BB34} | |
***** BB30 | |
STMT00173 (IL 0x137...0x13D) | |
[000657] -A-X-------- * ASG ref | |
[000656] D------N---- +--* LCL_VAR ref V52 tmp26 | |
[000655] ---X-------- \--* QMARK ref | |
[000648] Q----------- if +--* EQ int | |
[000647] ------------ | +--* LCL_VAR ref V00 arg0 | |
[000646] ------------ | \--* CNS_INT ref null | |
[000654] ---X-------- if \--* COLON ref | |
[000652] ---X-------- else +--* QMARK ref | |
[000645] Q--X-------- if | +--* NE int | |
[000644] #--X-------- | | +--* IND long | |
[000643] ------------ | | | \--* LCL_VAR ref V00 arg0 | |
[000642] H----------- | | \--* CNS_INT(h) long 0x7ff8fd001fa0 class | |
[000651] ------------ if | \--* COLON ref | |
[000649] ------------ else | +--* LCL_VAR ref V00 arg0 | |
[000650] ------------ then | \--* CNS_INT ref null | |
[000653] ------------ then \--* LCL_VAR ref V00 arg0 | |
***** BB30 | |
STMT00174 (IL ???... ???) | |
[000661] ------------ * JTRUE void | |
[000660] ------------ \--* EQ int | |
[000658] ------------ +--* LCL_VAR ref V52 tmp26 | |
[000659] ------------ \--* CNS_INT ref null | |
------------ BB31 [13F..150), preds={} succs={BB32} | |
***** BB31 | |
STMT00177 (IL 0x13F...0x145) | |
[000673] -ACXG------- * ASG struct (copy) | |
[000671] D------N---- +--* LCL_VAR struct<System.TimeSpan, 8> V17 loc15 | |
[000670] --CXG------- \--* OBJ struct<System.TimeSpan, 8> | |
[000669] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000668] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fd001fa0 class | |
[000667] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB31 | |
STMT00178 (IL 0x147...0x14E) | |
[000676] I-C-G------- * CALL struct Python.Runtime.Runtime.PyTuple_New (exactContextHnd=0x00007FF9001CEA41) | |
[000675] ------------ arg0 \--* CNS_INT long 1 | |
***** BB31 | |
STMT00179 (IL ???... ???) | |
[000680] -AC--------- * ASG struct (copy) | |
[000678] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V18 loc16 | |
[000677] --C--------- \--* RET_EXPR struct(inl return expr [000676]) | |
------------ BB32 [150..195) -> BB88 (always), preds={} succs={BB88} | |
***** BB32 | |
STMT00180 (IL 0x150...0x165) | |
[000683] I-C-G------- * CALL struct Python.Runtime.NewReferenceExtensions.Borrow (exactContextHnd=0x00007FF9001FBA99) | |
[000682] ------------ arg0 \--* ADDR byref | |
[000681] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V18 loc16 | |
***** BB32 | |
STMT00182 (IL ???... ???) | |
[000692] -AC--------- * ASG struct (copy) | |
[000690] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V53 tmp27 | |
[000684] --C--------- \--* RET_EXPR struct(inl return expr [000683]) | |
***** BB32 | |
STMT00181 (IL ???... ???) | |
[000689] I-C-G------- * CALL double System.TimeSpan.get_TotalDays (exactContextHnd=0x00007FF8FD001FA1) | |
[000688] ------------ this in rcx \--* ADDR byref | |
[000687] -------N---- \--* LCL_VAR struct<System.TimeSpan, 8> V17 loc15 | |
***** BB32 | |
STMT00183 (IL ???... ???) | |
[000695] I-C-G------- * CALL struct Python.Runtime.Runtime.PyFloat_FromDouble (exactContextHnd=0x00007FF9001CEA41) | |
[000694] --C--------- arg0 \--* RET_EXPR double(inl return expr [000689]) | |
***** BB32 | |
STMT00184 (IL ???... ???) | |
[000699] -AC--------- * ASG struct (copy) | |
[000697] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000696] --C--------- \--* RET_EXPR struct(inl return expr [000695]) | |
***** BB32 | |
STMT00185 (IL ???...0x173) | |
[000702] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000701] ------------ this in rcx \--* ADDR byref | |
[000700] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
***** BB32 | |
STMT00186 (IL ???... ???) | |
[000707] -AC--------- * ASG struct (copy) | |
[000705] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V54 tmp28 | |
[000703] --C--------- \--* RET_EXPR struct(inl return expr [000702]) | |
***** BB32 | |
STMT00187 (IL ???... ???) | |
[000704] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000712] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000711] ------------ | \--* ADDR byref | |
[000693] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V53 tmp27 | |
[000686] ------------ arg1 +--* CNS_INT long 0 | |
[000710] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000709] ------------ \--* ADDR byref | |
[000708] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V54 tmp28 | |
***** BB32 | |
STMT00188 (IL ???... ???) | |
[000715] --C--------- * COMMA void | |
[000713] --C--------- +--* RET_EXPR int (inl return expr [000704]) | |
[000714] ------------ \--* NOP void | |
***** BB32 | |
STMT00189 (IL 0x174...0x18A) | |
[000717] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000716] ----G------- arg0 \--* FIELD ref timeSpanCtor | |
***** BB32 | |
STMT00191 (IL ???... ???) | |
[000724] -AC--------- * ASG struct (copy) | |
[000722] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V55 tmp29 | |
[000718] --C--------- \--* RET_EXPR struct(inl return expr [000717]) | |
***** BB32 | |
STMT00190 (IL ???... ???) | |
[000721] I-C-G------- * CALL struct Python.Runtime.NewReferenceExtensions.Borrow (exactContextHnd=0x00007FF9001FBA99) | |
[000720] ------------ arg0 \--* ADDR byref | |
[000719] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V18 loc16 | |
***** BB32 | |
STMT00192 (IL ???... ???) | |
[000730] -AC--------- * ASG struct (copy) | |
[000728] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V56 tmp30 | |
[000726] --C--------- \--* RET_EXPR struct(inl return expr [000721]) | |
***** BB32 | |
STMT00193 (IL ???... ???) | |
[000727] I-C-G------- * CALL struct Python.Runtime.Runtime.PyObject_CallObject (exactContextHnd=0x00007FF9001CEA41) | |
[000735] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000734] ------------ | \--* ADDR byref | |
[000725] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V55 tmp29 | |
[000733] n----------- arg1 \--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000732] ------------ \--* ADDR byref | |
[000731] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V56 tmp30 | |
***** BB32 | |
STMT00194 (IL ???... ???) | |
[000739] -AC--------- * ASG struct (copy) | |
[000737] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V19 loc17 | |
[000736] --C--------- \--* RET_EXPR struct(inl return expr [000727]) | |
***** BB32 | |
STMT00195 (IL 0x18C...0x18E) | |
[000743] -A---------- * ASG struct (copy) | |
[000741] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V10 loc8 | |
[000740] ------------ \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V19 loc17 | |
------------ BB88 [???..???) -> BB33 (callf), preds={} succs={BB33} | |
------------ BB89 [???..???) -> BB81 (ALWAYS), preds={} succs={BB81} | |
------------ BB33 [195..19D) (finret), preds={} succs={BB89} | |
***** BB33 | |
STMT00196 (IL 0x195...0x19C) | |
[000746] I-C-G------- * CALL void Python.Runtime.NewReference.Dispose (exactContextHnd=0x00007FF9001F4CA9) | |
[000745] ------------ this in rcx \--* ADDR byref | |
[000744] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V18 loc16 | |
***** BB33 | |
STMT00197 (IL 0x19C... ???) | |
[000747] ------------ * RETFILT void | |
------------ BB34 [19D..1A5) (return), preds={} succs={} | |
***** BB34 | |
STMT00175 (IL 0x19D...0x1A4) | |
[000664] I-C-G------- * CALL struct Python.Runtime.CLRObject.GetReference (exactContextHnd=0x00007FF90278F5B1) | |
[000662] ------------ arg0 +--* LCL_VAR ref V00 arg0 | |
[000663] ------------ arg1 \--* LCL_VAR ref V01 arg1 | |
***** BB34 | |
STMT00176 (IL ???... ???) | |
[000666] --C--------- * RETURN struct | |
[000665] --C--------- \--* RET_EXPR struct(inl return expr [000664]) | |
------------ BB35 [1A5..1B1) (return), preds={} succs={} | |
***** BB35 | |
STMT00011 (IL 0x1A5...0x1B0) | |
[000044] I-CXG------- * CALL struct Python.Runtime.Runtime.PyString_FromString (exactContextHnd=0x00007FF9001CEA41) | |
[000043] --CXG------- arg0 \--* CALL help ref HELPER.CORINFO_HELP_CHKCASTCLASS | |
[000042] H------N---- arg0 +--* CNS_INT(h) long 0x7ff8fcf8f7c8 class | |
[000041] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB35 | |
STMT00012 (IL ???... ???) | |
[000046] --C--------- * RETURN struct | |
[000045] --C--------- \--* RET_EXPR struct(inl return expr [000044]) | |
------------ BB36 [1B1..1BD) (return), preds={} succs={} | |
***** BB36 | |
STMT00124 (IL 0x1B1...0x1BC) | |
[000474] --CXG------- * QMARK void | |
[000468] Q--X-------- if +--* EQ int | |
[000467] #--X-------- | +--* IND long | |
[000464] ------------ | | \--* LCL_VAR ref V00 arg0 | |
[000465] H----------- | \--* CNS_INT(h) long 0x7ff8fcf22580 class | |
[000473] --CXG------- if \--* COLON void | |
[000471] --CXG------- else +--* CALL help void HELPER.CORINFO_HELP_UNBOX | |
[000470] H----------- arg0 | +--* CNS_INT(h) long 0x7ff8fcf22580 class | |
[000466] ------------ arg1 | \--* LCL_VAR ref V00 arg0 | |
[000472] ------------ then \--* NOP void | |
***** BB36 | |
STMT00125 (IL ???... ???) | |
[000478] I-CXG------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000477] *--XG------- arg0 \--* IND int | |
[000476] ------------ \--* ADD byref | |
[000469] ------------ +--* LCL_VAR ref V00 arg0 | |
[000475] ------------ \--* CNS_INT long 8 | |
***** BB36 | |
STMT00126 (IL ???... ???) | |
[000480] --C--------- * RETURN struct | |
[000479] --C--------- \--* RET_EXPR struct(inl return expr [000478]) | |
------------ BB37 [1BD..1C5) -> BB39 (cond), preds={} succs={BB38,BB39} | |
***** BB37 | |
STMT00137 (IL 0x1BD...0x1C3) | |
[000527] --CXG------- * JTRUE void | |
[000526] --CXG------- \--* EQ int | |
[000524] *-CXG------- +--* IND bool | |
[000523] --CXG------- | \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000522] H----------- arg0 | +--* CNS_INT(h) long 0x7ff8fced5500 class | |
[000521] ------------ arg1 | \--* LCL_VAR ref V00 arg0 | |
[000525] ------------ \--* CNS_INT int 0 | |
------------ BB38 [1C5..1D1) (return), preds={} succs={} | |
***** BB38 | |
STMT00143 (IL 0x1C5...0x1D0) | |
[000546] I-C-G------- * CALL struct Python.Runtime.Runtime.get_PyTrue (exactContextHnd=0x00007FF9001CEA41) | |
***** BB38 | |
STMT00144 (IL ???... ???) | |
[000551] IA---------- * ASG struct (init) | |
[000549] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V49 tmp23 | |
[000550] ------------ \--* CNS_INT int 0 | |
***** BB38 | |
STMT00145 (IL ???... ???) | |
[000557] -AC--------- * ASG struct (copy) | |
[000555] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V50 tmp24 | |
[000547] --C--------- \--* RET_EXPR struct(inl return expr [000546]) | |
***** BB38 | |
STMT00146 (IL ???... ???) | |
[000554] I-C-G------- * CALL void Python.Runtime.NewReference..ctor (exactContextHnd=0x00007FF9001F4CA9) | |
[000553] ------------ this in rcx +--* ADDR byref | |
[000552] -------N---- | \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V49 tmp23 | |
[000560] n----------- arg1 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000559] ------------ | \--* ADDR byref | |
[000558] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V50 tmp24 | |
[000561] ------------ arg2 \--* PUTARG_TYPE bool | |
[000548] ------------ \--* CNS_INT int 0 | |
***** BB38 | |
STMT00147 (IL 0x1D0... ???) | |
[000563] ------------ * RETURN struct | |
[000562] ------------ \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V49 tmp23 | |
------------ BB39 [1D1..1DD) (return), preds={} succs={} | |
***** BB39 | |
STMT00138 (IL 0x1D1...0x1DC) | |
[000528] I-C-G------- * CALL struct Python.Runtime.Runtime.get_PyFalse (exactContextHnd=0x00007FF9001CEA41) | |
***** BB39 | |
STMT00139 (IL ???... ???) | |
[000533] IA---------- * ASG struct (init) | |
[000531] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V47 tmp21 | |
[000532] ------------ \--* CNS_INT int 0 | |
***** BB39 | |
STMT00140 (IL ???... ???) | |
[000539] -AC--------- * ASG struct (copy) | |
[000537] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V48 tmp22 | |
[000529] --C--------- \--* RET_EXPR struct(inl return expr [000528]) | |
***** BB39 | |
STMT00141 (IL ???... ???) | |
[000536] I-C-G------- * CALL void Python.Runtime.NewReference..ctor (exactContextHnd=0x00007FF9001F4CA9) | |
[000535] ------------ this in rcx +--* ADDR byref | |
[000534] -------N---- | \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V47 tmp21 | |
[000542] n----------- arg1 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000541] ------------ | \--* ADDR byref | |
[000540] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V48 tmp22 | |
[000543] ------------ arg2 \--* PUTARG_TYPE bool | |
[000530] ------------ \--* CNS_INT int 0 | |
***** BB39 | |
STMT00142 (IL 0x1DC... ???) | |
[000545] ------------ * RETURN struct | |
[000544] ------------ \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V47 tmp21 | |
------------ BB40 [1DD..1E9) (return), preds={} succs={} | |
***** BB40 | |
STMT00131 (IL 0x1DD...0x1E8) | |
[000501] I-CXG------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000502] --CXG------- arg0 \--* PUTARG_TYPE int | |
[000500] *-CXG------- \--* IND ubyte | |
[000499] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000498] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcefb290 class | |
[000497] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB40 | |
STMT00132 (IL ???... ???) | |
[000504] --C--------- * RETURN struct | |
[000503] --C--------- \--* RET_EXPR struct(inl return expr [000501]) | |
------------ BB41 [1E9..1F5) (return), preds={} succs={} | |
***** BB41 | |
STMT00135 (IL 0x1E9...0x1F4) | |
[000517] I-CXG------- * CALL struct Python.Runtime.Runtime.PyUnicode_FromOrdinal (exactContextHnd=0x00007FF9001CEA41) | |
[000518] --CXG------- arg0 \--* PUTARG_TYPE int | |
[000516] *-CXG------- \--* IND ushort | |
[000515] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000514] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcedb2f8 class | |
[000513] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB41 | |
STMT00136 (IL ???... ???) | |
[000520] --C--------- * RETURN struct | |
[000519] --C--------- \--* RET_EXPR struct(inl return expr [000517]) | |
------------ BB42 [1F5..201) (return), preds={} succs={} | |
***** BB42 | |
STMT00129 (IL 0x1F5...0x200) | |
[000493] I-CXG------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000494] --CXG------- arg0 \--* PUTARG_TYPE int | |
[000492] *-CXG------- \--* IND short | |
[000491] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000490] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcefd840 class | |
[000489] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB42 | |
STMT00130 (IL ???... ???) | |
[000496] --C--------- * RETURN struct | |
[000495] --C--------- \--* RET_EXPR struct(inl return expr [000493]) | |
------------ BB43 [201..20D) (return), preds={} succs={} | |
***** BB43 | |
STMT00120 (IL 0x201...0x20C) | |
[000453] I-CXG------- * CALL struct Python.Runtime.Runtime.PyLong_FromLongLong (exactContextHnd=0x00007FF9001CEA41) | |
[000452] *-CXG------- arg0 \--* IND long | |
[000451] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000450] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcf26f98 class | |
[000449] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB43 | |
STMT00121 (IL ???... ???) | |
[000455] --C--------- * RETURN struct | |
[000454] --C--------- \--* RET_EXPR struct(inl return expr [000453]) | |
------------ BB44 [20D..21A) (return), preds={} succs={} | |
***** BB44 | |
STMT00116 (IL 0x20D...0x219) | |
[000439] I-CXG------- * CALL struct Python.Runtime.Runtime.PyFloat_FromDouble (exactContextHnd=0x00007FF9001CEA41) | |
[000438] --CXG------- arg0 \--* CAST double <- float | |
[000437] *-CXG------- \--* IND float | |
[000436] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000435] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcf2dea0 class | |
[000434] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB44 | |
STMT00117 (IL ???... ???) | |
[000441] --C--------- * RETURN struct | |
[000440] --C--------- \--* RET_EXPR struct(inl return expr [000439]) | |
------------ BB45 [21A..226) (return), preds={} succs={} | |
***** BB45 | |
STMT00114 (IL 0x21A...0x225) | |
[000431] I-CXG------- * CALL struct Python.Runtime.Runtime.PyFloat_FromDouble (exactContextHnd=0x00007FF9001CEA41) | |
[000430] *-CXG------- arg0 \--* IND double | |
[000429] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000428] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcf57320 class | |
[000427] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB45 | |
STMT00115 (IL ???... ???) | |
[000433] --C--------- * RETURN struct | |
[000432] --C--------- \--* RET_EXPR struct(inl return expr [000431]) | |
------------ BB46 [226..232) (return), preds={} succs={} | |
***** BB46 | |
STMT00133 (IL 0x226...0x231) | |
[000509] I-CXG------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000510] --CXG------- arg0 \--* PUTARG_TYPE int | |
[000508] *-CXG------- \--* IND byte | |
[000507] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000506] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcef6bc8 class | |
[000505] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB46 | |
STMT00134 (IL ???... ???) | |
[000512] --C--------- * RETURN struct | |
[000511] --C--------- \--* RET_EXPR struct(inl return expr [000509]) | |
------------ BB47 [232..23E) (return), preds={} succs={} | |
***** BB47 | |
STMT00127 (IL 0x232...0x23D) | |
[000485] I-CXG------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000486] --CXG------- arg0 \--* PUTARG_TYPE int | |
[000484] *-CXG------- \--* IND ushort | |
[000483] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000482] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcf20000 class | |
[000481] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB47 | |
STMT00128 (IL ???... ???) | |
[000488] --C--------- * RETURN struct | |
[000487] --C--------- \--* RET_EXPR struct(inl return expr [000485]) | |
------------ BB48 [23E..24B) (return), preds={} succs={} | |
***** BB48 | |
STMT00122 (IL 0x23E...0x24A) | |
[000461] I-CXG------- * CALL struct Python.Runtime.Runtime.PyLong_FromUnsignedLongLong (exactContextHnd=0x00007FF9001CEA41) | |
[000460] --CXG----U-- arg0 \--* CAST long <- ulong <- uint | |
[000459] *-CXG------- \--* IND int | |
[000458] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000457] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcf24a68 class | |
[000456] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB48 | |
STMT00123 (IL ???... ???) | |
[000463] --C--------- * RETURN struct | |
[000462] --C--------- \--* RET_EXPR struct(inl return expr [000461]) | |
------------ BB49 [24B..257) (return), preds={} succs={} | |
***** BB49 | |
STMT00118 (IL 0x24B...0x256) | |
[000446] I-CXG------- * CALL struct Python.Runtime.Runtime.PyLong_FromUnsignedLongLong (exactContextHnd=0x00007FF9001CEA41) | |
[000445] *-CXG------- arg0 \--* IND long | |
[000444] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000443] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcf29478 class | |
[000442] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB49 | |
STMT00119 (IL ???... ???) | |
[000448] --C--------- * RETURN struct | |
[000447] --C--------- \--* RET_EXPR struct(inl return expr [000446]) | |
------------ BB50 [257..268) (return), preds={} succs={} | |
***** BB50 | |
STMT00111 (IL 0x257...0x267) | |
[000422] I-CXG------- * CALL double System.Decimal.ToDouble (exactContextHnd=0x00007FF8FCF5F5B9) | |
[000421] --CXG------- arg0 \--* OBJ struct<System.Decimal, 16> | |
[000420] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000419] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcf5f5b8 class | |
[000418] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB50 | |
STMT00112 (IL ???... ???) | |
[000424] I-C-G------- * CALL struct Python.Runtime.Runtime.PyFloat_FromDouble (exactContextHnd=0x00007FF9001CEA41) | |
[000423] --C--------- arg0 \--* RET_EXPR double(inl return expr [000422]) | |
***** BB50 | |
STMT00113 (IL ???... ???) | |
[000426] --C--------- * RETURN struct | |
[000425] --C--------- \--* RET_EXPR struct(inl return expr [000424]) | |
------------ BB51 [268..279) -> BB53 (cond), preds={} succs={BB52,BB53} | |
***** BB51 | |
STMT00013 (IL 0x268...0x26E) | |
[000053] -ACXG------- * ASG struct (copy) | |
[000051] D------N---- +--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
[000050] --CXG------- \--* OBJ struct<System.DateTime, 8> | |
[000049] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000048] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fd4cc3e8 class | |
[000047] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB51 | |
STMT00014 (IL 0x270...0x277) | |
[000056] I-C-G------- * CALL int System.DateTime.get_Kind (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000055] ------------ this in rcx \--* ADDR byref | |
[000054] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
***** BB51 | |
STMT00015 (IL ???... ???) | |
[000060] --C--------- * JTRUE void | |
[000059] --C--------- \--* EQ int | |
[000057] --C--------- +--* RET_EXPR int (inl return expr [000056]) | |
[000058] ------------ \--* CNS_INT int 0 | |
------------ BB52 [279..27C) -> BB54 (always), preds={} succs={BB54} | |
***** BB52 | |
STMT00110 (IL 0x279...0x27A) | |
[000416] -A---------- * ASG int | |
[000415] D------N---- +--* LCL_VAR int V27 tmp1 | |
[000414] ------------ \--* CNS_INT int 8 | |
------------ BB53 [27C..27D), preds={} succs={BB54} | |
***** BB53 | |
STMT00016 (IL 0x27C...0x27C) | |
[000063] -A---------- * ASG int | |
[000062] D------N---- +--* LCL_VAR int V27 tmp1 | |
[000061] ------------ \--* CNS_INT int 7 | |
------------ BB54 [27D..288) -> BB56 (cond), preds={} succs={BB55,BB56} | |
***** BB54 | |
STMT00017 (IL ???...0x27D) | |
[000067] -A---------- * ASG int | |
[000066] D------N---- +--* LCL_VAR int V12 loc10 | |
[000065] ------------ \--* LCL_VAR int V27 tmp1 | |
***** BB54 | |
STMT00018 (IL 0x27F...0x286) | |
[000070] I-C-G------- * CALL int System.DateTime.get_Kind (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000069] ------------ this in rcx \--* ADDR byref | |
[000068] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
***** BB54 | |
STMT00019 (IL ???... ???) | |
[000074] --C--------- * JTRUE void | |
[000073] --C--------- \--* EQ int | |
[000071] --C--------- +--* RET_EXPR int (inl return expr [000070]) | |
[000072] ------------ \--* CNS_INT int 0 | |
------------ BB55 [288..28F) -> BB57 (always), preds={} succs={BB57} | |
***** BB55 | |
STMT00109 (IL 0x288...0x28D) | |
[000412] -A--G------- * ASG ref | |
[000411] D------N---- +--* LCL_VAR ref V28 tmp2 | |
[000410] ----G------- \--* FIELD ref pyTupleKind | |
------------ BB56 [28F..294), preds={} succs={BB57} | |
***** BB56 | |
STMT00020 (IL 0x28F...0x28F) | |
[000077] -A--G------- * ASG ref | |
[000076] D------N---- +--* LCL_VAR ref V28 tmp2 | |
[000075] ----G------- \--* FIELD ref pyTupleNoKind | |
------------ BB57 [294..3A4) -> BB59 (cond), preds={} succs={BB58,BB59} | |
***** BB57 | |
STMT00021 (IL ???...0x294) | |
[000081] -A---------- * ASG ref | |
[000080] D------N---- +--* LCL_VAR ref V13 loc11 | |
[000079] ------------ \--* LCL_VAR ref V28 tmp2 | |
***** BB57 | |
STMT00022 (IL 0x296...0x2AB) | |
[000083] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000082] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
***** BB57 | |
STMT00024 (IL ???... ???) | |
[000092] -AC--------- * ASG struct (copy) | |
[000090] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V29 tmp3 | |
[000084] --C--------- \--* RET_EXPR struct(inl return expr [000083]) | |
***** BB57 | |
STMT00023 (IL ???... ???) | |
[000089] I-C-G------- * CALL int System.DateTime.get_Year (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000088] ------------ this in rcx \--* ADDR byref | |
[000087] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
***** BB57 | |
STMT00025 (IL ???... ???) | |
[000095] I-C-G------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000094] --C--------- arg0 \--* RET_EXPR int (inl return expr [000089]) | |
***** BB57 | |
STMT00026 (IL ???... ???) | |
[000099] -AC--------- * ASG struct (copy) | |
[000097] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000096] --C--------- \--* RET_EXPR struct(inl return expr [000095]) | |
***** BB57 | |
STMT00027 (IL ???...0x2B9) | |
[000102] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000101] ------------ this in rcx \--* ADDR byref | |
[000100] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
***** BB57 | |
STMT00028 (IL ???... ???) | |
[000107] -AC--------- * ASG struct (copy) | |
[000105] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V30 tmp4 | |
[000103] --C--------- \--* RET_EXPR struct(inl return expr [000102]) | |
***** BB57 | |
STMT00029 (IL ???... ???) | |
[000104] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000112] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000111] ------------ | \--* ADDR byref | |
[000093] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V29 tmp3 | |
[000086] ------------ arg1 +--* CNS_INT long 0 | |
[000110] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000109] ------------ \--* ADDR byref | |
[000108] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V30 tmp4 | |
***** BB57 | |
STMT00030 (IL ???... ???) | |
[000115] --C--------- * COMMA void | |
[000113] --C--------- +--* RET_EXPR int (inl return expr [000104]) | |
[000114] ------------ \--* NOP void | |
***** BB57 | |
STMT00031 (IL 0x2BA...0x2CF) | |
[000117] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000116] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
***** BB57 | |
STMT00033 (IL ???... ???) | |
[000126] -AC--------- * ASG struct (copy) | |
[000124] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V31 tmp5 | |
[000118] --C--------- \--* RET_EXPR struct(inl return expr [000117]) | |
***** BB57 | |
STMT00032 (IL ???... ???) | |
[000123] I-C-G------- * CALL int System.DateTime.get_Month (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000122] ------------ this in rcx \--* ADDR byref | |
[000121] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
***** BB57 | |
STMT00034 (IL ???... ???) | |
[000129] I-C-G------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000128] --C--------- arg0 \--* RET_EXPR int (inl return expr [000123]) | |
***** BB57 | |
STMT00035 (IL ???... ???) | |
[000133] -AC--------- * ASG struct (copy) | |
[000131] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000130] --C--------- \--* RET_EXPR struct(inl return expr [000129]) | |
***** BB57 | |
STMT00036 (IL ???...0x2DD) | |
[000136] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000135] ------------ this in rcx \--* ADDR byref | |
[000134] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
***** BB57 | |
STMT00037 (IL ???... ???) | |
[000141] -AC--------- * ASG struct (copy) | |
[000139] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V32 tmp6 | |
[000137] --C--------- \--* RET_EXPR struct(inl return expr [000136]) | |
***** BB57 | |
STMT00038 (IL ???... ???) | |
[000138] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000146] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000145] ------------ | \--* ADDR byref | |
[000127] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V31 tmp5 | |
[000120] ------------ arg1 +--* CNS_INT long 1 | |
[000144] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000143] ------------ \--* ADDR byref | |
[000142] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V32 tmp6 | |
***** BB57 | |
STMT00039 (IL ???... ???) | |
[000149] --C--------- * COMMA void | |
[000147] --C--------- +--* RET_EXPR int (inl return expr [000138]) | |
[000148] ------------ \--* NOP void | |
***** BB57 | |
STMT00040 (IL 0x2DE...0x2F3) | |
[000151] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000150] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
***** BB57 | |
STMT00042 (IL ???... ???) | |
[000160] -AC--------- * ASG struct (copy) | |
[000158] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V33 tmp7 | |
[000152] --C--------- \--* RET_EXPR struct(inl return expr [000151]) | |
***** BB57 | |
STMT00041 (IL ???... ???) | |
[000157] I-C-G------- * CALL int System.DateTime.get_Day (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000156] ------------ this in rcx \--* ADDR byref | |
[000155] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
***** BB57 | |
STMT00043 (IL ???... ???) | |
[000163] I-C-G------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000162] --C--------- arg0 \--* RET_EXPR int (inl return expr [000157]) | |
***** BB57 | |
STMT00044 (IL ???... ???) | |
[000167] -AC--------- * ASG struct (copy) | |
[000165] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000164] --C--------- \--* RET_EXPR struct(inl return expr [000163]) | |
***** BB57 | |
STMT00045 (IL ???...0x301) | |
[000170] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000169] ------------ this in rcx \--* ADDR byref | |
[000168] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
***** BB57 | |
STMT00046 (IL ???... ???) | |
[000175] -AC--------- * ASG struct (copy) | |
[000173] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V34 tmp8 | |
[000171] --C--------- \--* RET_EXPR struct(inl return expr [000170]) | |
***** BB57 | |
STMT00047 (IL ???... ???) | |
[000172] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000180] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000179] ------------ | \--* ADDR byref | |
[000161] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V33 tmp7 | |
[000154] ------------ arg1 +--* CNS_INT long 2 | |
[000178] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000177] ------------ \--* ADDR byref | |
[000176] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V34 tmp8 | |
***** BB57 | |
STMT00048 (IL ???... ???) | |
[000183] --C--------- * COMMA void | |
[000181] --C--------- +--* RET_EXPR int (inl return expr [000172]) | |
[000182] ------------ \--* NOP void | |
***** BB57 | |
STMT00049 (IL 0x302...0x317) | |
[000185] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000184] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
***** BB57 | |
STMT00051 (IL ???... ???) | |
[000194] -AC--------- * ASG struct (copy) | |
[000192] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V35 tmp9 | |
[000186] --C--------- \--* RET_EXPR struct(inl return expr [000185]) | |
***** BB57 | |
STMT00050 (IL ???... ???) | |
[000191] I-C-G------- * CALL int System.DateTime.get_Hour (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000190] ------------ this in rcx \--* ADDR byref | |
[000189] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
***** BB57 | |
STMT00052 (IL ???... ???) | |
[000197] I-C-G------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000196] --C--------- arg0 \--* RET_EXPR int (inl return expr [000191]) | |
***** BB57 | |
STMT00053 (IL ???... ???) | |
[000201] -AC--------- * ASG struct (copy) | |
[000199] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000198] --C--------- \--* RET_EXPR struct(inl return expr [000197]) | |
***** BB57 | |
STMT00054 (IL ???...0x325) | |
[000204] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000203] ------------ this in rcx \--* ADDR byref | |
[000202] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
***** BB57 | |
STMT00055 (IL ???... ???) | |
[000209] -AC--------- * ASG struct (copy) | |
[000207] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V36 tmp10 | |
[000205] --C--------- \--* RET_EXPR struct(inl return expr [000204]) | |
***** BB57 | |
STMT00056 (IL ???... ???) | |
[000206] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000214] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000213] ------------ | \--* ADDR byref | |
[000195] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V35 tmp9 | |
[000188] ------------ arg1 +--* CNS_INT long 3 | |
[000212] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000211] ------------ \--* ADDR byref | |
[000210] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V36 tmp10 | |
***** BB57 | |
STMT00057 (IL ???... ???) | |
[000217] --C--------- * COMMA void | |
[000215] --C--------- +--* RET_EXPR int (inl return expr [000206]) | |
[000216] ------------ \--* NOP void | |
***** BB57 | |
STMT00058 (IL 0x326...0x33B) | |
[000219] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000218] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
***** BB57 | |
STMT00060 (IL ???... ???) | |
[000228] -AC--------- * ASG struct (copy) | |
[000226] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V37 tmp11 | |
[000220] --C--------- \--* RET_EXPR struct(inl return expr [000219]) | |
***** BB57 | |
STMT00059 (IL ???... ???) | |
[000225] I-C-G------- * CALL int System.DateTime.get_Minute (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000224] ------------ this in rcx \--* ADDR byref | |
[000223] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
***** BB57 | |
STMT00061 (IL ???... ???) | |
[000231] I-C-G------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000230] --C--------- arg0 \--* RET_EXPR int (inl return expr [000225]) | |
***** BB57 | |
STMT00062 (IL ???... ???) | |
[000235] -AC--------- * ASG struct (copy) | |
[000233] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000232] --C--------- \--* RET_EXPR struct(inl return expr [000231]) | |
***** BB57 | |
STMT00063 (IL ???...0x349) | |
[000238] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000237] ------------ this in rcx \--* ADDR byref | |
[000236] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
***** BB57 | |
STMT00064 (IL ???... ???) | |
[000243] -AC--------- * ASG struct (copy) | |
[000241] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V38 tmp12 | |
[000239] --C--------- \--* RET_EXPR struct(inl return expr [000238]) | |
***** BB57 | |
STMT00065 (IL ???... ???) | |
[000240] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000248] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000247] ------------ | \--* ADDR byref | |
[000229] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V37 tmp11 | |
[000222] ------------ arg1 +--* CNS_INT long 4 | |
[000246] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000245] ------------ \--* ADDR byref | |
[000244] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V38 tmp12 | |
***** BB57 | |
STMT00066 (IL ???... ???) | |
[000251] --C--------- * COMMA void | |
[000249] --C--------- +--* RET_EXPR int (inl return expr [000240]) | |
[000250] ------------ \--* NOP void | |
***** BB57 | |
STMT00067 (IL 0x34A...0x35F) | |
[000253] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000252] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
***** BB57 | |
STMT00069 (IL ???... ???) | |
[000262] -AC--------- * ASG struct (copy) | |
[000260] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V39 tmp13 | |
[000254] --C--------- \--* RET_EXPR struct(inl return expr [000253]) | |
***** BB57 | |
STMT00068 (IL ???... ???) | |
[000259] I-C-G------- * CALL int System.DateTime.get_Second (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000258] ------------ this in rcx \--* ADDR byref | |
[000257] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
***** BB57 | |
STMT00070 (IL ???... ???) | |
[000265] I-C-G------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000264] --C--------- arg0 \--* RET_EXPR int (inl return expr [000259]) | |
***** BB57 | |
STMT00071 (IL ???... ???) | |
[000269] -AC--------- * ASG struct (copy) | |
[000267] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000266] --C--------- \--* RET_EXPR struct(inl return expr [000265]) | |
***** BB57 | |
STMT00072 (IL ???...0x36D) | |
[000272] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000271] ------------ this in rcx \--* ADDR byref | |
[000270] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
***** BB57 | |
STMT00073 (IL ???... ???) | |
[000277] -AC--------- * ASG struct (copy) | |
[000275] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V40 tmp14 | |
[000273] --C--------- \--* RET_EXPR struct(inl return expr [000272]) | |
***** BB57 | |
STMT00074 (IL ???... ???) | |
[000274] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000282] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000281] ------------ | \--* ADDR byref | |
[000263] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V39 tmp13 | |
[000256] ------------ arg1 +--* CNS_INT long 5 | |
[000280] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000279] ------------ \--* ADDR byref | |
[000278] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V40 tmp14 | |
***** BB57 | |
STMT00075 (IL ???... ???) | |
[000285] --C--------- * COMMA void | |
[000283] --C--------- +--* RET_EXPR int (inl return expr [000274]) | |
[000284] ------------ \--* NOP void | |
***** BB57 | |
STMT00076 (IL 0x36E...0x375) | |
[000288] I-C-G------- * CALL struct System.DateTime.get_TimeOfDay (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000287] ------------ this in rcx \--* ADDR byref | |
[000286] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
***** BB57 | |
STMT00077 (IL ???... ???) | |
[000292] -AC--------- * ASG struct (copy) | |
[000290] D------N---- +--* LCL_VAR struct<System.TimeSpan, 8> V21 loc19 | |
[000289] --C--------- \--* RET_EXPR struct(inl return expr [000288]) | |
***** BB57 | |
STMT00078 (IL 0x377...0x37E) | |
[000295] I-C-G------- * CALL double System.TimeSpan.get_TotalSeconds (exactContextHnd=0x00007FF8FD001FA1) | |
[000294] ------------ this in rcx \--* ADDR byref | |
[000293] -------N---- \--* LCL_VAR struct<System.TimeSpan, 8> V21 loc19 | |
***** BB57 | |
STMT00079 (IL ???... ???) | |
[000298] -AC--------- * ASG double | |
[000297] D------N---- +--* LCL_VAR double V14 loc12 | |
[000296] --C--------- \--* RET_EXPR double(inl return expr [000295]) | |
***** BB57 | |
STMT00080 (IL 0x380...0x399) | |
[000301] I-C-G------- * CALL double System.Math.Truncate (exactContextHnd=0x00007FF8FD49AA39) | |
[000300] ------------ arg0 \--* LCL_VAR double V14 loc12 | |
***** BB57 | |
STMT00081 (IL ???... ???) | |
[000306] I-C-G------- * CALL int System.Convert.ToInt32 (exactContextHnd=0x00007FF8FD404741) | |
[000305] --C--------- arg0 \--* MUL double | |
[000303] --C--------- +--* SUB double | |
[000299] ------------ | +--* LCL_VAR double V14 loc12 | |
[000302] --C--------- | \--* RET_EXPR double(inl return expr [000301]) | |
[000304] ------------ \--* CNS_DBL double 1000000.0000000000 | |
***** BB57 | |
STMT00082 (IL ???... ???) | |
[000309] -AC--------- * ASG int | |
[000308] D------N---- +--* LCL_VAR int V15 loc13 | |
[000307] --C--------- \--* RET_EXPR int (inl return expr [000306]) | |
***** BB57 | |
STMT00083 (IL 0x39B...0x3A2) | |
[000313] ------------ * JTRUE void | |
[000312] N--------U-- \--* NE int | |
[000310] ------------ +--* LCL_VAR int V15 loc13 | |
[000311] ------------ \--* CNS_INT int 0xF4240 | |
------------ BB58 [3A4..3AB), preds={} succs={BB59} | |
***** BB58 | |
STMT00108 (IL 0x3A4...0x3A9) | |
[000409] -A---------- * ASG int | |
[000408] D------N---- +--* LCL_VAR int V15 loc13 | |
[000407] ------------ \--* CNS_INT int 0xF423F | |
------------ BB59 [3AB..3CF) -> BB61 (cond), preds={} succs={BB60,BB61} | |
***** BB59 | |
STMT00084 (IL 0x3AB...0x3BB) | |
[000315] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000314] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
***** BB59 | |
STMT00086 (IL ???... ???) | |
[000323] -AC--------- * ASG struct (copy) | |
[000321] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V41 tmp15 | |
[000316] --C--------- \--* RET_EXPR struct(inl return expr [000315]) | |
***** BB59 | |
STMT00085 (IL ???... ???) | |
[000320] I-C-G------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000319] ------------ arg0 \--* LCL_VAR int V15 loc13 | |
***** BB59 | |
STMT00087 (IL ???... ???) | |
[000328] -AC--------- * ASG struct (copy) | |
[000326] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000325] --C--------- \--* RET_EXPR struct(inl return expr [000320]) | |
***** BB59 | |
STMT00088 (IL ???...0x3C9) | |
[000331] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000330] ------------ this in rcx \--* ADDR byref | |
[000329] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
***** BB59 | |
STMT00089 (IL ???... ???) | |
[000336] -AC--------- * ASG struct (copy) | |
[000334] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V42 tmp16 | |
[000332] --C--------- \--* RET_EXPR struct(inl return expr [000331]) | |
***** BB59 | |
STMT00090 (IL ???... ???) | |
[000333] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000341] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000340] ------------ | \--* ADDR byref | |
[000324] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V41 tmp15 | |
[000318] ------------ arg1 +--* CNS_INT long 6 | |
[000339] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000338] ------------ \--* ADDR byref | |
[000337] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V42 tmp16 | |
***** BB59 | |
STMT00091 (IL ???... ???) | |
[000344] --C--------- * COMMA void | |
[000342] --C--------- +--* RET_EXPR int (inl return expr [000333]) | |
[000343] ------------ \--* NOP void | |
***** BB59 | |
STMT00092 (IL 0x3CA...0x3CD) | |
[000348] ------------ * JTRUE void | |
[000347] N--------U-- \--* NE int | |
[000345] ------------ +--* LCL_VAR int V12 loc10 | |
[000346] ------------ \--* CNS_INT int 8 | |
------------ BB60 [3CF..3F3), preds={} succs={BB61} | |
***** BB60 | |
STMT00100 (IL 0x3CF...0x3E4) | |
[000375] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000374] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
***** BB60 | |
STMT00102 (IL ???... ???) | |
[000384] -AC--------- * ASG struct (copy) | |
[000382] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V45 tmp19 | |
[000376] --C--------- \--* RET_EXPR struct(inl return expr [000375]) | |
***** BB60 | |
STMT00101 (IL ???... ???) | |
[000381] I-C-G------- * CALL int System.DateTime.get_Kind (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000380] ------------ this in rcx \--* ADDR byref | |
[000379] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
***** BB60 | |
STMT00103 (IL ???... ???) | |
[000390] -AC-G------- * ASG struct (copy) | |
[000388] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000387] --C-G------- \--* CALL struct Python.Runtime.Converter.TzInfo | |
[000386] --C--------- arg0 \--* RET_EXPR int (inl return expr [000381]) | |
***** BB60 | |
STMT00104 (IL ???...0x3F2) | |
[000393] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000392] ------------ this in rcx \--* ADDR byref | |
[000391] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
***** BB60 | |
STMT00105 (IL ???... ???) | |
[000398] -AC--------- * ASG struct (copy) | |
[000396] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V46 tmp20 | |
[000394] --C--------- \--* RET_EXPR struct(inl return expr [000393]) | |
***** BB60 | |
STMT00106 (IL ???... ???) | |
[000395] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000403] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000402] ------------ | \--* ADDR byref | |
[000385] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V45 tmp19 | |
[000378] ------------ arg1 +--* CNS_INT long 7 | |
[000401] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000400] ------------ \--* ADDR byref | |
[000399] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V46 tmp20 | |
***** BB60 | |
STMT00107 (IL ???... ???) | |
[000406] --C--------- * COMMA void | |
[000404] --C--------- +--* RET_EXPR int (inl return expr [000395]) | |
[000405] ------------ \--* NOP void | |
------------ BB61 [3F3..40E) (return), preds={} succs={} | |
***** BB61 | |
STMT00093 (IL 0x3F3...0x409) | |
[000350] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000349] ----G------- arg0 \--* FIELD ref dateTimeCtor | |
***** BB61 | |
STMT00095 (IL ???... ???) | |
[000356] -AC--------- * ASG struct (copy) | |
[000354] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V43 tmp17 | |
[000351] --C--------- \--* RET_EXPR struct(inl return expr [000350]) | |
***** BB61 | |
STMT00094 (IL ???... ???) | |
[000353] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000352] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
***** BB61 | |
STMT00096 (IL ???... ???) | |
[000362] -AC--------- * ASG struct (copy) | |
[000360] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V44 tmp18 | |
[000358] --C--------- \--* RET_EXPR struct(inl return expr [000353]) | |
***** BB61 | |
STMT00097 (IL ???... ???) | |
[000359] I-C-G------- * CALL struct Python.Runtime.Runtime.PyObject_CallObject (exactContextHnd=0x00007FF9001CEA41) | |
[000367] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000366] ------------ | \--* ADDR byref | |
[000357] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V43 tmp17 | |
[000365] n----------- arg1 \--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000364] ------------ \--* ADDR byref | |
[000363] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V44 tmp18 | |
***** BB61 | |
STMT00098 (IL ???... ???) | |
[000371] -AC--------- * ASG struct (copy) | |
[000369] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V16 loc14 | |
[000368] --C--------- \--* RET_EXPR struct(inl return expr [000359]) | |
***** BB61 | |
STMT00099 (IL 0x40B...0x40D) | |
[000373] ------------ * RETURN struct | |
[000372] ------------ \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V16 loc14 | |
------------ BB62 [40E..416) -> BB80 (cond), preds={} succs={BB63,BB80} | |
***** BB62 | |
STMT00148 (IL 0x40E...0x414) | |
[000569] --C-G------- * JTRUE void | |
[000568] --C-G------- \--* EQ int | |
[000566] --C-G------- +--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFINTERFACE | |
[000565] H------N---- arg0 | +--* CNS_INT(h) long 0x7ff8fce2fce8 class | |
[000564] ------------ arg1 | \--* LCL_VAR ref V00 arg0 | |
[000567] ------------ \--* CNS_INT ref null | |
------------ BB63 [416..41D), preds={} succs={BB64} | |
***** BB63 | |
STMT00151 (IL 0x416...0x41B) | |
[000578] -A---------- * ASG ref | |
[000577] D------N---- +--* LCL_VAR ref V51 tmp25 | |
[000576] ------------ \--* ALLOCOBJ ref | |
[000575] H----------- \--* CNS_INT(h) long 0x7ff9014b26a0 method | |
***** BB63 | |
STMT00152 (IL ???... ???) | |
[000580] I-C-G------- * CALL void Python.Runtime.PyList..ctor (exactContextHnd=0x00007FF9014B26A1) | |
[000579] ------------ this in rcx \--* LCL_VAR ref V51 tmp25 | |
***** BB63 | |
STMT00153 (IL 0x41B... ???) | |
[000583] -A---------- * ASG ref | |
[000582] D------N---- +--* LCL_VAR ref V22 loc20 | |
[000581] ------------ \--* LCL_VAR ref V51 tmp25 | |
------------ BB64 [41D..42A), preds={} succs={BB65} | |
***** BB64 | |
STMT00154 (IL 0x41D...0x428) | |
[000589] -ACXG------- * ASG ref | |
[000588] D------N---- +--* LCL_VAR ref V23 loc21 | |
[000587] --CXG------- \--* CALLV stub ref System.Collections.IEnumerable.GetEnumerator | |
[000586] --CXG------- this in rcx \--* CALL help ref HELPER.CORINFO_HELP_CHKCASTINTERFACE | |
[000585] H------N---- arg0 +--* CNS_INT(h) long 0x7ff8fce2fce8 class | |
[000584] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
------------ BB65 [42A..42C) -> BB71 (always), preds={} succs={BB71} | |
------------ BB66 [42C..43E), preds={} succs={BB67} | |
***** BB66 | |
STMT00156 (IL 0x42C...0x433) | |
[000598] -AC-G------- * ASG ref | |
[000597] D------N---- +--* LCL_VAR ref V24 loc22 | |
[000596] --C-G------- \--* CALLV stub ref System.Collections.IEnumerator.get_Current | |
[000595] ------------ this in rcx \--* LCL_VAR ref V23 loc21 | |
***** BB66 | |
STMT00157 (IL 0x435...0x43C) | |
[000600] I-C-G------- * CALL ref Python.Runtime.ConverterExtension.ToPython (exactContextHnd=0x00007FF901486E29) | |
[000599] ------------ arg0 \--* LCL_VAR ref V24 loc22 | |
***** BB66 | |
STMT00158 (IL ???... ???) | |
[000603] -AC--------- * ASG ref | |
[000602] D------N---- +--* LCL_VAR ref V25 loc23 | |
[000601] --C--------- \--* RET_EXPR ref (inl return expr [000600]) | |
------------ BB67 [43E..449) -> BB82 (always), preds={} succs={BB82} | |
***** BB67 | |
STMT00159 (IL 0x43E...0x447) | |
[000606] I-C-G------- * CALL nullcheck void Python.Runtime.PyList.Append (exactContextHnd=0x00007FF9014B26A1) | |
[000604] ------------ this in rcx +--* LCL_VAR ref V22 loc20 | |
[000605] ------------ arg1 \--* LCL_VAR ref V25 loc23 | |
------------ BB82 [???..???) -> BB68 (callf), preds={} succs={BB68} | |
------------ BB83 [???..???) -> BB71 (ALWAYS), preds={} succs={BB71} | |
------------ BB68 [449..44D) -> BB70 (cond), preds={} succs={BB69,BB70} | |
***** BB68 | |
STMT00160 (IL 0x449...0x44B) | |
[000610] ------------ * JTRUE void | |
[000609] ------------ \--* EQ int | |
[000607] ------------ +--* LCL_VAR ref V25 loc23 | |
[000608] ------------ \--* CNS_INT ref null | |
------------ BB69 [44D..454), preds={} succs={BB70} | |
***** BB69 | |
STMT00162 (IL 0x44D...0x44F) | |
[000613] --C-G------- * CALLV stub void System.IDisposable.Dispose | |
[000612] ------------ this in rcx \--* LCL_VAR ref V25 loc23 | |
------------ BB70 [454..455) (finret), preds={} succs={BB83} | |
***** BB70 | |
STMT00161 (IL 0x454...0x454) | |
[000611] ------------ * RETFILT void | |
------------ BB71 [455..45E) -> BB66 (cond), preds={} succs={BB72,BB66} | |
***** BB71 | |
STMT00155 (IL 0x455...0x45C) | |
[000594] --C-G------- * JTRUE void | |
[000593] --C-G------- \--* NE int | |
[000591] --C-G------- +--* CALLV stub int System.Collections.IEnumerator.MoveNext | |
[000590] ------------ this in rcx | \--* LCL_VAR ref V23 loc21 | |
[000592] ------------ \--* CNS_INT int 0 | |
------------ BB72 [45E..460) -> BB84 (always), preds={} succs={BB84} | |
------------ BB84 [???..???) -> BB73 (callf), preds={} succs={BB73} | |
------------ BB85 [???..???) -> BB76 (ALWAYS), preds={} succs={BB76} | |
------------ BB73 [460..46D) -> BB75 (cond), preds={} succs={BB74,BB75} | |
***** BB73 | |
STMT00166 (IL 0x460...0x467) | |
[000626] -AC-G------- * ASG ref | |
[000625] D------N---- +--* LCL_VAR ref V09 loc7 | |
[000624] --C-G------- \--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFINTERFACE | |
[000623] H------N---- arg0 +--* CNS_INT(h) long 0x7ff8fcfbd948 class | |
[000622] ------------ arg1 \--* LCL_VAR ref V23 loc21 | |
***** BB73 | |
STMT00167 (IL 0x469...0x46B) | |
[000630] ------------ * JTRUE void | |
[000629] ------------ \--* EQ int | |
[000627] ------------ +--* LCL_VAR ref V09 loc7 | |
[000628] ------------ \--* CNS_INT ref null | |
------------ BB74 [46D..474), preds={} succs={BB75} | |
***** BB74 | |
STMT00169 (IL 0x46D...0x46F) | |
[000633] --C-G------- * CALLV stub void System.IDisposable.Dispose | |
[000632] ------------ this in rcx \--* LCL_VAR ref V09 loc7 | |
------------ BB75 [474..475) (finret), preds={} succs={BB85} | |
***** BB75 | |
STMT00168 (IL 0x474...0x474) | |
[000631] ------------ * RETFILT void | |
------------ BB76 [475..480) -> BB86 (always), preds={} succs={BB86} | |
***** BB76 | |
STMT00163 (IL 0x475...0x47C) | |
[000615] I-C-G------- * CALL struct Python.Runtime.PyObjectExtensions.NewReferenceOrNull (exactContextHnd=0x00007FF9026AD409) | |
[000614] ------------ arg0 \--* LCL_VAR ref V22 loc20 | |
***** BB76 | |
STMT00164 (IL ???... ???) | |
[000619] -AC--------- * ASG struct (copy) | |
[000617] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V10 loc8 | |
[000616] --C--------- \--* RET_EXPR struct(inl return expr [000615]) | |
------------ BB86 [???..???) -> BB77 (callf), preds={} succs={BB77} | |
------------ BB87 [???..???) -> BB81 (ALWAYS), preds={} succs={BB81} | |
------------ BB77 [480..484) -> BB79 (cond), preds={} succs={BB78,BB79} | |
***** BB77 | |
STMT00170 (IL 0x480...0x482) | |
[000637] ------------ * JTRUE void | |
[000636] ------------ \--* EQ int | |
[000634] ------------ +--* LCL_VAR ref V22 loc20 | |
[000635] ------------ \--* CNS_INT ref null | |
------------ BB78 [484..48B), preds={} succs={BB79} | |
***** BB78 | |
STMT00172 (IL 0x484...0x486) | |
[000640] I-C-G------- * CALL nullcheck void Python.Runtime.PyObject.Dispose (exactContextHnd=0x00007FF9001C7A71) | |
[000639] ------------ this in rcx \--* LCL_VAR ref V22 loc20 | |
------------ BB79 [48B..48C) (finret), preds={} succs={BB87} | |
***** BB79 | |
STMT00171 (IL 0x48B...0x48B) | |
[000638] ------------ * RETFILT void | |
------------ BB80 [48C..494) (return), preds={} succs={} | |
***** BB80 | |
STMT00149 (IL 0x48C...0x493) | |
[000572] I-C-G------- * CALL struct Python.Runtime.CLRObject.GetReference (exactContextHnd=0x00007FF90278F5B1) | |
[000570] ------------ arg0 +--* LCL_VAR ref V00 arg0 | |
[000571] ------------ arg1 \--* LCL_VAR ref V01 arg1 | |
***** BB80 | |
STMT00150 (IL ???... ???) | |
[000574] --C--------- * RETURN struct | |
[000573] --C--------- \--* RET_EXPR struct(inl return expr [000572]) | |
------------ BB81 [494..497) (return), preds={} succs={} | |
***** BB81 | |
STMT00165 (IL 0x494...0x496) | |
[000621] ------------ * RETURN struct | |
[000620] ------------ \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V10 loc8 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Starting PHASE Indirect call transform | |
---------------- | |
*** GuardedDevirtualization contemplating [000018] in BB05 | |
Likelihood of correct guess is 100 | |
*** GuardedDevirtualization: transforming STMT00004 | |
lvaGrabTemp returning 62 (V62 tmp36) (a long lifetime temp) called for guarded devirt return temp. | |
Reworking call(s) to return value via a new temp V62 | |
Bashing GT_RET_EXPR [000019] to refer to temp V62 | |
New Basic Block BB96 [0095] created. | |
BB06 previous predecessor was BB05, now is BB96 | |
BB25 previous predecessor was BB05, now is BB96 | |
New Basic Block BB97 [0096] created. | |
lvaGrabTemp returning 63 (V63 tmp37) (a long lifetime temp) called for guarded devirt this exact temp. | |
lvaSetClass: setting class for V63 to (00007FF8FCE2F700) System.RuntimeType [exact] | |
Direct call [000879] in block BB97 | |
impDevirtualizeCall: Trying to devirtualize virtual call: | |
class for 'this' is System.RuntimeType [exact] (attrib 21000010) | |
base method is System.Type::get_IsGenericType | |
devirt to System.RuntimeType::get_IsGenericType -- exact | |
[000879] I-C-G------- * CALLV vt-ind int System.Type.get_IsGenericType | |
[000881] ------------ this in rcx \--* LCL_VAR ref V63 tmp37 | |
exact; can devirtualize | |
... after devirt... | |
[000879] I-C-G------- * CALL nullcheck int System.RuntimeType.get_IsGenericType | |
[000881] ------------ this in rcx \--* LCL_VAR ref V63 tmp37 | |
New Basic Block BB98 [0097] created. | |
Residual call [000018] moved to block BB98 | |
Scouting for possible GDV chain as likelihood 100 >= 75 | |
Scouting STMT00005 | |
-- 1 calls transformed | |
*************** Finishing PHASE Indirect call transform | |
Trees after Indirect call transform | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 43 43 [000..00A)-> BB03 ( cond ) i IBC | |
BB02 [0001] 1 12 12 [00A..017) (return) i IBC | |
BB03 [0002] 1 31 31 [017..01A)-> BB05 ( cond ) i IBC | |
BB04 [0003] 1 0 0 [01A..026) (return) i rare IBC | |
BB05 [0004] 1 31 31 [026..???)-> BB98 ( cond ) i IBC | |
BB97 [0096] 0 31 31 [???..???)-> BB96 (always) i internal IBC | |
BB98 [0097] 0 0 0 [???..???) i internal rare IBC | |
BB96 [0095] 1 31 31 [???..039)-> BB25 ( cond ) i internal IBC | |
BB06 [0005] 1 0 0 [039..041)-> BB25 ( cond ) i rare IBC | |
BB07 [0006] 1 0 0 [041..049)-> BB25 ( cond ) i rare IBC | |
BB08 [0007] 1 0 0 [049..04F) i rare newobj IBC | |
BB09 [0008] 1 2 0 0 [04F..05C) T2 try { keep i try rare IBC | |
BB10 [0009] 1 1 0 0 [05C..05E)-> BB16 (always) T1 try { keep i try rare IBC | |
BB11 [0010] 1 1 0 0 [05E..070) T1 i rare bwd bwd-target IBC | |
BB12 [0011] 1 0 0 0 [070..07A)-> BB90 (always) T0 try { } keep i try rare bwd IBC | |
BB90 [0089] 1 1 0 0 [???..???)-> BB13 (callf ) T1 i internal rare IBC | |
BB91 [0090] 0 1 0 0 [???..???)-> BB16 (ALWAYS) T1 i internal rare IBC KEEP | |
BB13 [0012] 1 1 0 1 [07A..07E)-> BB15 ( cond ) T1 H0 finally { keep i bwd | |
BB14 [0013] 1 1 0 0 0 [07E..085) T1 H0 i rare bwd IBC | |
BB15 [0014] 2 1 0 0 0 [085..086) (finret) T1 H0 } i rare bwd IBC | |
BB16 [0015] 2 1 0 0 [086..08F)-> BB11 ( cond ) T1 i rare bwd IBC | |
BB17 [0016] 1 1 0 0 [08F..091)-> BB92 (always) T1 } i rare IBC | |
BB92 [0091] 1 2 0 0 [???..???)-> BB18 (callf ) T2 i internal rare IBC | |
BB93 [0092] 0 2 0 0 [???..???)-> BB21 (ALWAYS) T2 i internal rare IBC KEEP | |
BB18 [0017] 1 2 1 1 [091..09E)-> BB20 ( cond ) T2 H1 finally { keep i | |
BB19 [0018] 1 2 1 0 0 [09E..0A5) T2 H1 i rare IBC | |
BB20 [0019] 2 2 1 0 0 [0A5..0A6) (finret) T2 H1 } i rare IBC | |
BB21 [0020] 1 2 0 0 [0A6..0B3)-> BB94 (always) T2 } i rare IBC | |
BB94 [0093] 1 0 0 [???..???)-> BB22 (callf ) i internal rare IBC | |
BB95 [0094] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB22 [0021] 1 2 1 [0B3..0B6)-> BB24 ( cond ) H2 finally { keep i | |
BB23 [0022] 1 2 0 0 [0B6..0BC) H2 i rare IBC | |
BB24 [0023] 2 2 0 0 [0BC..0BD) (finret) H2 } i rare IBC | |
BB25 [0024] 3 31 31 [0BD..0C7)-> BB28 ( cond ) i IBC | |
BB26 [0025] 1 0 0 [0C7..0D4)-> BB28 ( cond ) i rare IBC | |
BB27 [0026] 1 0 0 [0D4..0DB) (return) i rare IBC | |
BB28 [0027] 2 31 31 [0DB..132)-> BB30[dom(0.5806451)],BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB62,BB35,BB29[def] (switch) i IBC | |
BB29 [0028] 1 0 0 [132..137)-> BB62 (always) i rare IBC | |
BB30 [0029] 1 18 18 [137..13F)-> BB34 ( cond ) i IBC | |
BB31 [0030] 1 0 0 [13F..150) i rare IBC | |
BB32 [0031] 1 3 0 0 [150..195)-> BB88 (always) T3 try { } keep i try rare IBC | |
BB88 [0087] 1 0 0 [???..???)-> BB33 (callf ) i internal rare IBC | |
BB89 [0088] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB33 [0032] 1 3 1 [195..19D) (finret) H3 finally { } keep i | |
BB34 [0033] 1 18 18 [19D..1A5) (return) i IBC | |
BB35 [0034] 1 0 0 [1A5..1B1) (return) i rare IBC | |
BB36 [0035] 1 13 13 [1B1..1BD) (return) i IBC | |
BB37 [0036] 1 0 0 [1BD..1C5)-> BB39 ( cond ) i rare IBC | |
BB38 [0037] 1 0 0 [1C5..1D1) (return) i rare IBC | |
BB39 [0038] 1 0 0 [1D1..1DD) (return) i rare IBC | |
BB40 [0039] 1 0 0 [1DD..1E9) (return) i rare IBC | |
BB41 [0040] 1 0 0 [1E9..1F5) (return) i rare IBC | |
BB42 [0041] 1 0 0 [1F5..201) (return) i rare IBC | |
BB43 [0042] 1 0 0 [201..20D) (return) i rare IBC | |
BB44 [0043] 1 0 0 [20D..21A) (return) i rare IBC | |
BB45 [0044] 1 0 0 [21A..226) (return) i rare IBC | |
BB46 [0045] 1 0 0 [226..232) (return) i rare IBC | |
BB47 [0046] 1 0 0 [232..23E) (return) i rare IBC | |
BB48 [0047] 1 0 0 [23E..24B) (return) i rare IBC | |
BB49 [0048] 1 0 0 [24B..257) (return) i rare IBC | |
BB50 [0049] 1 0 0 [257..268) (return) i rare IBC | |
BB51 [0050] 1 0 0 [268..279)-> BB53 ( cond ) i rare IBC | |
BB52 [0051] 1 0 0 [279..27C)-> BB54 (always) i rare IBC | |
BB53 [0052] 1 0 0 [27C..27D) i rare IBC | |
BB54 [0053] 2 0 0 [27D..288)-> BB56 ( cond ) i rare IBC | |
BB55 [0054] 1 0 0 [288..28F)-> BB57 (always) i rare IBC | |
BB56 [0055] 1 0 0 [28F..294) i rare IBC | |
BB57 [0056] 2 0 0 [294..3A4)-> BB59 ( cond ) i rare IBC | |
BB58 [0057] 1 0 0 [3A4..3AB) i rare IBC | |
BB59 [0058] 2 0 0 [3AB..3CF)-> BB61 ( cond ) i rare IBC | |
BB60 [0059] 1 0 0 [3CF..3F3) i rare IBC | |
BB61 [0060] 2 0 0 [3F3..40E) (return) i rare IBC | |
BB62 [0061] 3 0 0 [40E..416)-> BB80 ( cond ) i rare IBC | |
BB63 [0062] 1 0 0 [416..41D) i rare newobj IBC | |
BB64 [0063] 1 6 0 0 [41D..42A) T6 try { keep i try rare IBC | |
BB65 [0064] 1 5 0 0 [42A..42C)-> BB71 (always) T5 try { keep i try rare IBC | |
BB66 [0065] 1 5 0 0 [42C..43E) T5 i rare bwd bwd-target IBC | |
BB67 [0066] 1 4 0 0 [43E..449)-> BB82 (always) T4 try { } keep i try rare bwd IBC | |
BB82 [0081] 1 5 0 0 [???..???)-> BB68 (callf ) T5 i internal rare IBC | |
BB83 [0082] 0 5 0 0 [???..???)-> BB71 (ALWAYS) T5 i internal rare IBC KEEP | |
BB68 [0067] 1 5 4 1 [449..44D)-> BB70 ( cond ) T5 H4 finally { keep i bwd | |
BB69 [0068] 1 5 4 0 0 [44D..454) T5 H4 i rare bwd IBC | |
BB70 [0069] 2 5 4 0 0 [454..455) (finret) T5 H4 } i rare bwd IBC | |
BB71 [0070] 2 5 0 0 [455..45E)-> BB66 ( cond ) T5 i rare bwd IBC | |
BB72 [0071] 1 5 0 0 [45E..460)-> BB84 (always) T5 } i rare IBC | |
BB84 [0083] 1 6 0 0 [???..???)-> BB73 (callf ) T6 i internal rare IBC | |
BB85 [0084] 0 6 0 0 [???..???)-> BB76 (ALWAYS) T6 i internal rare IBC KEEP | |
BB73 [0072] 1 6 5 1 [460..46D)-> BB75 ( cond ) T6 H5 finally { keep i | |
BB74 [0073] 1 6 5 0 0 [46D..474) T6 H5 i rare IBC | |
BB75 [0074] 2 6 5 0 0 [474..475) (finret) T6 H5 } i rare IBC | |
BB76 [0075] 1 6 0 0 [475..480)-> BB86 (always) T6 } i rare IBC | |
BB86 [0085] 1 0 0 [???..???)-> BB77 (callf ) i internal rare IBC | |
BB87 [0086] 0 0 0 [???..???)-> BB81 (ALWAYS) i internal rare IBC KEEP | |
BB77 [0076] 1 6 1 [480..484)-> BB79 ( cond ) H6 finally { keep i | |
BB78 [0077] 1 6 0 0 [484..48B) H6 i rare IBC | |
BB79 [0078] 2 6 0 0 [48B..48C) (finret) H6 } i rare IBC | |
BB80 [0079] 1 0 0 [48C..494) (return) i rare IBC | |
BB81 [0080] 3 0 0 [494..497) (return) i rare IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..00A) -> BB03 (cond), preds={} succs={BB02,BB03} | |
***** BB01 | |
STMT00000 (IL 0x000...0x006) | |
[000004] -AC-G------- * ASG ref | |
[000003] D------N---- +--* LCL_VAR ref V02 loc0 | |
[000002] --C-G------- \--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFCLASS | |
[000001] H------N---- arg0 +--* CNS_INT(h) long 0x7ff9001c7a70 class | |
[000000] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB01 | |
STMT00001 (IL 0x007...0x008) | |
[000008] ------------ * JTRUE void | |
[000007] ------------ \--* EQ int | |
[000005] ------------ +--* LCL_VAR ref V02 loc0 | |
[000006] ------------ \--* CNS_INT ref null | |
------------ BB02 [00A..017) (return), preds={} succs={} | |
***** BB02 | |
STMT00228 (IL 0x00A...0x016) | |
[000852] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000851] ------------ arg0 \--* LCL_VAR ref V02 loc0 | |
***** BB02 | |
STMT00229 (IL ???... ???) | |
[000857] IA---------- * ASG struct (init) | |
[000855] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V60 tmp34 | |
[000856] ------------ \--* CNS_INT int 0 | |
***** BB02 | |
STMT00230 (IL ???... ???) | |
[000863] -AC--------- * ASG struct (copy) | |
[000861] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V61 tmp35 | |
[000853] --C--------- \--* RET_EXPR struct(inl return expr [000852]) | |
***** BB02 | |
STMT00231 (IL ???... ???) | |
[000860] I-C-G------- * CALL void Python.Runtime.NewReference..ctor (exactContextHnd=0x00007FF9001F4CA9) | |
[000859] ------------ this in rcx +--* ADDR byref | |
[000858] -------N---- | \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V60 tmp34 | |
[000866] n----------- arg1 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000865] ------------ | \--* ADDR byref | |
[000864] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V61 tmp35 | |
[000867] ------------ arg2 \--* PUTARG_TYPE bool | |
[000854] ------------ \--* CNS_INT int 0 | |
***** BB02 | |
STMT00232 (IL 0x016... ???) | |
[000869] ------------ * RETURN struct | |
[000868] ------------ \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V60 tmp34 | |
------------ BB03 [017..01A) -> BB05 (cond), preds={} succs={BB04,BB05} | |
***** BB03 | |
STMT00002 (IL 0x017...0x018) | |
[000012] ------------ * JTRUE void | |
[000011] ------------ \--* NE int | |
[000009] ------------ +--* LCL_VAR ref V00 arg0 | |
[000010] ------------ \--* CNS_INT ref null | |
------------ BB04 [01A..026) (return), preds={} succs={} | |
***** BB04 | |
STMT00223 (IL 0x01A...0x025) | |
[000833] I-C-G------- * CALL struct Python.Runtime.Runtime.get_PyNone (exactContextHnd=0x00007FF9001CEA41) | |
***** BB04 | |
STMT00224 (IL ???... ???) | |
[000838] IA---------- * ASG struct (init) | |
[000836] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V58 tmp32 | |
[000837] ------------ \--* CNS_INT int 0 | |
***** BB04 | |
STMT00225 (IL ???... ???) | |
[000844] -AC--------- * ASG struct (copy) | |
[000842] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V59 tmp33 | |
[000834] --C--------- \--* RET_EXPR struct(inl return expr [000833]) | |
***** BB04 | |
STMT00226 (IL ???... ???) | |
[000841] I-C-G------- * CALL void Python.Runtime.NewReference..ctor (exactContextHnd=0x00007FF9001F4CA9) | |
[000840] ------------ this in rcx +--* ADDR byref | |
[000839] -------N---- | \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V58 tmp32 | |
[000847] n----------- arg1 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000846] ------------ | \--* ADDR byref | |
[000845] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V59 tmp33 | |
[000848] ------------ arg2 \--* PUTARG_TYPE bool | |
[000835] ------------ \--* CNS_INT int 0 | |
***** BB04 | |
STMT00227 (IL 0x025... ???) | |
[000850] ------------ * RETURN struct | |
[000849] ------------ \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V58 tmp32 | |
------------ BB05 [026..???) -> BB98 (cond), preds={} succs={BB97,BB98} | |
***** BB05 | |
STMT00003 (IL 0x026...0x02C) | |
[000016] -ACX-------- * ASG ref | |
[000015] D------N---- +--* LCL_VAR ref V01 arg1 | |
[000014] --CX-------- \--* INTRINSIC ref objGetType | |
[000013] ------------ \--* LCL_VAR ref V00 arg0 | |
***** BB05 | |
STMT00233 (IL 0x02E... ???) | |
[000875] ---X-------- * JTRUE void | |
[000874] ---X-------- \--* NE int | |
[000873] H----------- +--* CNS_INT(h) long 0x7ff8fce2f700 class | |
[000872] #--X-------- \--* IND long | |
[000871] ------------ \--* LCL_VAR ref V01 arg1 | |
------------ BB97 [???..???) -> BB96 (always), preds={} succs={BB96} | |
***** BB97 | |
STMT00234 (IL ???... ???) | |
[000878] -A---------- * ASG ref | |
[000877] D------N---- +--* LCL_VAR ref V63 tmp37 | |
[000876] ------------ \--* LCL_VAR ref V01 arg1 | |
***** BB97 | |
STMT00235 (IL ???... ???) | |
[000879] I-C-G------- * CALL nullcheck int System.RuntimeType.get_IsGenericType (exactContextHnd=0x00007FF8FCE2EBE8) | |
[000881] ------------ this in rcx \--* LCL_VAR ref V63 tmp37 | |
***** BB97 | |
STMT00236 (IL ???... ???) | |
[000884] -AC--------- * ASG int | |
[000883] D------N---- +--* LCL_VAR int V62 tmp36 | |
[000882] --C--------- \--* RET_EXPR int (inl return expr [000879]) | |
------------ BB98 [???..???), preds={} succs={BB96} | |
***** BB98 | |
STMT00237 (IL ???... ???) | |
[000886] -AC-G------- * ASG int | |
[000885] D------N---- +--* LCL_VAR int V62 tmp36 | |
[000018] --C-G------- \--* CALLV vt-ind int System.Type.get_IsGenericType | |
[000017] ------------ this in rcx \--* LCL_VAR ref V01 arg1 | |
------------ BB96 [???..039) -> BB25 (cond), preds={} succs={BB06,BB25} | |
***** BB96 | |
STMT00005 (IL ???... ???) | |
[000022] --C--------- * JTRUE void | |
[000021] --C--------- \--* EQ int | |
[000870] ------------ +--* LCL_VAR int V62 tmp36 | |
[000020] ------------ \--* CNS_INT int 0 | |
------------ BB06 [039..041) -> BB25 (cond), preds={} succs={BB07,BB25} | |
***** BB06 | |
STMT00200 (IL 0x039...0x03F) | |
[000762] --C-G------- * JTRUE void | |
[000761] --C-G------- \--* EQ int | |
[000759] --C-G------- +--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFINTERFACE | |
[000758] H------N---- arg0 | +--* CNS_INT(h) long 0x7ff8fced02e8 class | |
[000757] ------------ arg1 | \--* LCL_VAR ref V00 arg0 | |
[000760] ------------ \--* CNS_INT ref null | |
------------ BB07 [041..049) -> BB25 (cond), preds={} succs={BB08,BB25} | |
***** BB07 | |
STMT00201 (IL 0x041...0x047) | |
[000768] --C-G------- * JTRUE void | |
[000767] --C-G------- \--* NE int | |
[000765] --C-G------- +--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFINTERFACE | |
[000764] H------N---- arg0 | +--* CNS_INT(h) long 0x7ff8fd3b9808 class | |
[000763] ------------ arg1 | \--* LCL_VAR ref V00 arg0 | |
[000766] ------------ \--* CNS_INT ref null | |
------------ BB08 [049..04F), preds={} succs={BB09} | |
***** BB08 | |
STMT00202 (IL 0x049...0x04E) | |
[000772] -A---------- * ASG ref | |
[000771] D------N---- +--* LCL_VAR ref V57 tmp31 | |
[000770] ------------ \--* ALLOCOBJ ref | |
[000769] H----------- \--* CNS_INT(h) long 0x7ff9014b26a0 method | |
***** BB08 | |
STMT00203 (IL ???... ???) | |
[000774] I-C-G------- * CALL void Python.Runtime.PyList..ctor (exactContextHnd=0x00007FF9014B26A1) | |
[000773] ------------ this in rcx \--* LCL_VAR ref V57 tmp31 | |
***** BB08 | |
STMT00204 (IL 0x04E... ???) | |
[000777] -A---------- * ASG ref | |
[000776] D------N---- +--* LCL_VAR ref V05 loc3 | |
[000775] ------------ \--* LCL_VAR ref V57 tmp31 | |
------------ BB09 [04F..05C), preds={} succs={BB10} | |
***** BB09 | |
STMT00205 (IL 0x04F...0x05A) | |
[000783] -ACXG------- * ASG ref | |
[000782] D------N---- +--* LCL_VAR ref V06 loc4 | |
[000781] --CXG------- \--* CALLV stub ref System.Collections.IEnumerable.GetEnumerator | |
[000780] --CXG------- this in rcx \--* CALL help ref HELPER.CORINFO_HELP_CHKCASTINTERFACE | |
[000779] H------N---- arg0 +--* CNS_INT(h) long 0x7ff8fce2fce8 class | |
[000778] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
------------ BB10 [05C..05E) -> BB16 (always), preds={} succs={BB16} | |
------------ BB11 [05E..070), preds={} succs={BB12} | |
***** BB11 | |
STMT00207 (IL 0x05E...0x065) | |
[000792] -AC-G------- * ASG ref | |
[000791] D------N---- +--* LCL_VAR ref V07 loc5 | |
[000790] --C-G------- \--* CALLV stub ref System.Collections.IEnumerator.get_Current | |
[000789] ------------ this in rcx \--* LCL_VAR ref V06 loc4 | |
***** BB11 | |
STMT00208 (IL 0x067...0x06E) | |
[000794] I-C-G------- * CALL ref Python.Runtime.ConverterExtension.ToPython (exactContextHnd=0x00007FF901486E29) | |
[000793] ------------ arg0 \--* LCL_VAR ref V07 loc5 | |
***** BB11 | |
STMT00209 (IL ???... ???) | |
[000797] -AC--------- * ASG ref | |
[000796] D------N---- +--* LCL_VAR ref V08 loc6 | |
[000795] --C--------- \--* RET_EXPR ref (inl return expr [000794]) | |
------------ BB12 [070..07A) -> BB90 (always), preds={} succs={BB90} | |
***** BB12 | |
STMT00210 (IL 0x070...0x078) | |
[000800] I-C-G------- * CALL nullcheck void Python.Runtime.PyList.Append (exactContextHnd=0x00007FF9014B26A1) | |
[000798] ------------ this in rcx +--* LCL_VAR ref V05 loc3 | |
[000799] ------------ arg1 \--* LCL_VAR ref V08 loc6 | |
------------ BB90 [???..???) -> BB13 (callf), preds={} succs={BB13} | |
------------ BB91 [???..???) -> BB16 (ALWAYS), preds={} succs={BB16} | |
------------ BB13 [07A..07E) -> BB15 (cond), preds={} succs={BB14,BB15} | |
***** BB13 | |
STMT00211 (IL 0x07A...0x07C) | |
[000804] ------------ * JTRUE void | |
[000803] ------------ \--* EQ int | |
[000801] ------------ +--* LCL_VAR ref V08 loc6 | |
[000802] ------------ \--* CNS_INT ref null | |
------------ BB14 [07E..085), preds={} succs={BB15} | |
***** BB14 | |
STMT00213 (IL 0x07E...0x080) | |
[000807] --C-G------- * CALLV stub void System.IDisposable.Dispose | |
[000806] ------------ this in rcx \--* LCL_VAR ref V08 loc6 | |
------------ BB15 [085..086) (finret), preds={} succs={BB91} | |
***** BB15 | |
STMT00212 (IL 0x085...0x085) | |
[000805] ------------ * RETFILT void | |
------------ BB16 [086..08F) -> BB11 (cond), preds={} succs={BB17,BB11} | |
***** BB16 | |
STMT00206 (IL 0x086...0x08D) | |
[000788] --C-G------- * JTRUE void | |
[000787] --C-G------- \--* NE int | |
[000785] --C-G------- +--* CALLV stub int System.Collections.IEnumerator.MoveNext | |
[000784] ------------ this in rcx | \--* LCL_VAR ref V06 loc4 | |
[000786] ------------ \--* CNS_INT int 0 | |
------------ BB17 [08F..091) -> BB92 (always), preds={} succs={BB92} | |
------------ BB92 [???..???) -> BB18 (callf), preds={} succs={BB18} | |
------------ BB93 [???..???) -> BB21 (ALWAYS), preds={} succs={BB21} | |
------------ BB18 [091..09E) -> BB20 (cond), preds={} succs={BB19,BB20} | |
***** BB18 | |
STMT00216 (IL 0x091...0x098) | |
[000818] -AC-G------- * ASG ref | |
[000817] D------N---- +--* LCL_VAR ref V09 loc7 | |
[000816] --C-G------- \--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFINTERFACE | |
[000815] H------N---- arg0 +--* CNS_INT(h) long 0x7ff8fcfbd948 class | |
[000814] ------------ arg1 \--* LCL_VAR ref V06 loc4 | |
***** BB18 | |
STMT00217 (IL 0x09A...0x09C) | |
[000822] ------------ * JTRUE void | |
[000821] ------------ \--* EQ int | |
[000819] ------------ +--* LCL_VAR ref V09 loc7 | |
[000820] ------------ \--* CNS_INT ref null | |
------------ BB19 [09E..0A5), preds={} succs={BB20} | |
***** BB19 | |
STMT00219 (IL 0x09E...0x0A0) | |
[000825] --C-G------- * CALLV stub void System.IDisposable.Dispose | |
[000824] ------------ this in rcx \--* LCL_VAR ref V09 loc7 | |
------------ BB20 [0A5..0A6) (finret), preds={} succs={BB93} | |
***** BB20 | |
STMT00218 (IL 0x0A5...0x0A5) | |
[000823] ------------ * RETFILT void | |
------------ BB21 [0A6..0B3) -> BB94 (always), preds={} succs={BB94} | |
***** BB21 | |
STMT00214 (IL 0x0A6...0x0AC) | |
[000809] I-C-G------- * CALL struct Python.Runtime.PyObjectExtensions.NewReferenceOrNull (exactContextHnd=0x00007FF9026AD409) | |
[000808] ------------ arg0 \--* LCL_VAR ref V05 loc3 | |
***** BB21 | |
STMT00215 (IL ???... ???) | |
[000813] -AC--------- * ASG struct (copy) | |
[000811] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V10 loc8 | |
[000810] --C--------- \--* RET_EXPR struct(inl return expr [000809]) | |
------------ BB94 [???..???) -> BB22 (callf), preds={} succs={BB22} | |
------------ BB95 [???..???) -> BB81 (ALWAYS), preds={} succs={BB81} | |
------------ BB22 [0B3..0B6) -> BB24 (cond), preds={} succs={BB23,BB24} | |
***** BB22 | |
STMT00220 (IL 0x0B3...0x0B4) | |
[000829] ------------ * JTRUE void | |
[000828] ------------ \--* EQ int | |
[000826] ------------ +--* LCL_VAR ref V05 loc3 | |
[000827] ------------ \--* CNS_INT ref null | |
------------ BB23 [0B6..0BC), preds={} succs={BB24} | |
***** BB23 | |
STMT00222 (IL 0x0B6...0x0B7) | |
[000832] I-C-G------- * CALL nullcheck void Python.Runtime.PyObject.Dispose (exactContextHnd=0x00007FF9001C7A71) | |
[000831] ------------ this in rcx \--* LCL_VAR ref V05 loc3 | |
------------ BB24 [0BC..0BD) (finret), preds={} succs={BB95} | |
***** BB24 | |
STMT00221 (IL 0x0BC...0x0BC) | |
[000830] ------------ * RETFILT void | |
------------ BB25 [0BD..0C7) -> BB28 (cond), preds={} succs={BB26,BB28} | |
***** BB25 | |
STMT00006 (IL 0x0BD...0x0C3) | |
[000027] -AC-G------- * ASG ref | |
[000026] D------N---- +--* LCL_VAR ref V03 loc1 | |
[000025] --C-G------- \--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFINTERFACE | |
[000024] H------N---- arg0 +--* CNS_INT(h) long 0x7ff9014e0530 class | |
[000023] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB25 | |
STMT00007 (IL 0x0C4...0x0C5) | |
[000031] ------------ * JTRUE void | |
[000030] ------------ \--* EQ int | |
[000028] ------------ +--* LCL_VAR ref V03 loc1 | |
[000029] ------------ \--* CNS_INT ref null | |
------------ BB26 [0C7..0D4) -> BB28 (cond), preds={} succs={BB27,BB28} | |
***** BB26 | |
STMT00198 (IL 0x0C7...0x0D2) | |
[000753] --C-G------- * JTRUE void | |
[000752] --C-G------- \--* NE int | |
[000750] --C-G------- +--* CALL int System.Func`2[__Canon,Boolean][System.__Canon,System.Boolean].Invoke | |
[000748] ----G------- this in rcx | +--* FIELD ref IsTransparentProxy | |
[000749] ------------ arg1 | \--* LCL_VAR ref V03 loc1 | |
[000751] ------------ \--* CNS_INT int 0 | |
------------ BB27 [0D4..0DB) (return), preds={} succs={} | |
***** BB27 | |
STMT00199 (IL 0x0D4...0x0DA) | |
[000756] --C-G------- * RETURN struct | |
[000755] --C-G------- \--* CALL struct Python.Runtime.ClassDerivedObject.ToPython | |
[000754] ------------ arg0 \--* LCL_VAR ref V03 loc1 | |
------------ BB28 [0DB..132) -> BB30[dom(0.5806451)],BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB62,BB35,BB29[def] (switch), preds={} succs={BB30,BB62,BB37,BB41,BB46,BB40,BB42,BB47,BB36,BB48,BB43,BB49,BB44,BB45,BB50,BB51,BB35,BB29} | |
***** BB28 | |
STMT00008 (IL 0x0DB...0x0E1) | |
[000033] I-C-G------- * CALL int System.Type.GetTypeCode (exactContextHnd=0x00007FF8FCE2C079) | |
[000032] ------------ arg0 \--* LCL_VAR ref V01 arg1 | |
***** BB28 | |
STMT00009 (IL ???... ???) | |
[000036] -AC--------- * ASG int | |
[000035] D------N---- +--* LCL_VAR int V04 loc2 | |
[000034] --C--------- \--* RET_EXPR int (inl return expr [000033]) | |
***** BB28 | |
STMT00010 (IL 0x0E2...0x0E5) | |
[000040] ------------ * SWITCH void | |
[000039] ------------ \--* SUB int | |
[000037] ------------ +--* LCL_VAR int V04 loc2 | |
[000038] ------------ \--* CNS_INT int 1 | |
------------ BB29 [132..137) -> BB62 (always), preds={} succs={BB62} | |
------------ BB30 [137..13F) -> BB34 (cond), preds={} succs={BB31,BB34} | |
***** BB30 | |
STMT00173 (IL 0x137...0x13D) | |
[000657] -A-X-------- * ASG ref | |
[000656] D------N---- +--* LCL_VAR ref V52 tmp26 | |
[000655] ---X-------- \--* QMARK ref | |
[000648] Q----------- if +--* EQ int | |
[000647] ------------ | +--* LCL_VAR ref V00 arg0 | |
[000646] ------------ | \--* CNS_INT ref null | |
[000654] ---X-------- if \--* COLON ref | |
[000652] ---X-------- else +--* QMARK ref | |
[000645] Q--X-------- if | +--* NE int | |
[000644] #--X-------- | | +--* IND long | |
[000643] ------------ | | | \--* LCL_VAR ref V00 arg0 | |
[000642] H----------- | | \--* CNS_INT(h) long 0x7ff8fd001fa0 class | |
[000651] ------------ if | \--* COLON ref | |
[000649] ------------ else | +--* LCL_VAR ref V00 arg0 | |
[000650] ------------ then | \--* CNS_INT ref null | |
[000653] ------------ then \--* LCL_VAR ref V00 arg0 | |
***** BB30 | |
STMT00174 (IL ???... ???) | |
[000661] ------------ * JTRUE void | |
[000660] ------------ \--* EQ int | |
[000658] ------------ +--* LCL_VAR ref V52 tmp26 | |
[000659] ------------ \--* CNS_INT ref null | |
------------ BB31 [13F..150), preds={} succs={BB32} | |
***** BB31 | |
STMT00177 (IL 0x13F...0x145) | |
[000673] -ACXG------- * ASG struct (copy) | |
[000671] D------N---- +--* LCL_VAR struct<System.TimeSpan, 8> V17 loc15 | |
[000670] --CXG------- \--* OBJ struct<System.TimeSpan, 8> | |
[000669] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000668] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fd001fa0 class | |
[000667] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB31 | |
STMT00178 (IL 0x147...0x14E) | |
[000676] I-C-G------- * CALL struct Python.Runtime.Runtime.PyTuple_New (exactContextHnd=0x00007FF9001CEA41) | |
[000675] ------------ arg0 \--* CNS_INT long 1 | |
***** BB31 | |
STMT00179 (IL ???... ???) | |
[000680] -AC--------- * ASG struct (copy) | |
[000678] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V18 loc16 | |
[000677] --C--------- \--* RET_EXPR struct(inl return expr [000676]) | |
------------ BB32 [150..195) -> BB88 (always), preds={} succs={BB88} | |
***** BB32 | |
STMT00180 (IL 0x150...0x165) | |
[000683] I-C-G------- * CALL struct Python.Runtime.NewReferenceExtensions.Borrow (exactContextHnd=0x00007FF9001FBA99) | |
[000682] ------------ arg0 \--* ADDR byref | |
[000681] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V18 loc16 | |
***** BB32 | |
STMT00182 (IL ???... ???) | |
[000692] -AC--------- * ASG struct (copy) | |
[000690] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V53 tmp27 | |
[000684] --C--------- \--* RET_EXPR struct(inl return expr [000683]) | |
***** BB32 | |
STMT00181 (IL ???... ???) | |
[000689] I-C-G------- * CALL double System.TimeSpan.get_TotalDays (exactContextHnd=0x00007FF8FD001FA1) | |
[000688] ------------ this in rcx \--* ADDR byref | |
[000687] -------N---- \--* LCL_VAR struct<System.TimeSpan, 8> V17 loc15 | |
***** BB32 | |
STMT00183 (IL ???... ???) | |
[000695] I-C-G------- * CALL struct Python.Runtime.Runtime.PyFloat_FromDouble (exactContextHnd=0x00007FF9001CEA41) | |
[000694] --C--------- arg0 \--* RET_EXPR double(inl return expr [000689]) | |
***** BB32 | |
STMT00184 (IL ???... ???) | |
[000699] -AC--------- * ASG struct (copy) | |
[000697] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000696] --C--------- \--* RET_EXPR struct(inl return expr [000695]) | |
***** BB32 | |
STMT00185 (IL ???...0x173) | |
[000702] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000701] ------------ this in rcx \--* ADDR byref | |
[000700] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
***** BB32 | |
STMT00186 (IL ???... ???) | |
[000707] -AC--------- * ASG struct (copy) | |
[000705] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V54 tmp28 | |
[000703] --C--------- \--* RET_EXPR struct(inl return expr [000702]) | |
***** BB32 | |
STMT00187 (IL ???... ???) | |
[000704] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000712] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000711] ------------ | \--* ADDR byref | |
[000693] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V53 tmp27 | |
[000686] ------------ arg1 +--* CNS_INT long 0 | |
[000710] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000709] ------------ \--* ADDR byref | |
[000708] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V54 tmp28 | |
***** BB32 | |
STMT00188 (IL ???... ???) | |
[000715] --C--------- * COMMA void | |
[000713] --C--------- +--* RET_EXPR int (inl return expr [000704]) | |
[000714] ------------ \--* NOP void | |
***** BB32 | |
STMT00189 (IL 0x174...0x18A) | |
[000717] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000716] ----G------- arg0 \--* FIELD ref timeSpanCtor | |
***** BB32 | |
STMT00191 (IL ???... ???) | |
[000724] -AC--------- * ASG struct (copy) | |
[000722] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V55 tmp29 | |
[000718] --C--------- \--* RET_EXPR struct(inl return expr [000717]) | |
***** BB32 | |
STMT00190 (IL ???... ???) | |
[000721] I-C-G------- * CALL struct Python.Runtime.NewReferenceExtensions.Borrow (exactContextHnd=0x00007FF9001FBA99) | |
[000720] ------------ arg0 \--* ADDR byref | |
[000719] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V18 loc16 | |
***** BB32 | |
STMT00192 (IL ???... ???) | |
[000730] -AC--------- * ASG struct (copy) | |
[000728] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V56 tmp30 | |
[000726] --C--------- \--* RET_EXPR struct(inl return expr [000721]) | |
***** BB32 | |
STMT00193 (IL ???... ???) | |
[000727] I-C-G------- * CALL struct Python.Runtime.Runtime.PyObject_CallObject (exactContextHnd=0x00007FF9001CEA41) | |
[000735] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000734] ------------ | \--* ADDR byref | |
[000725] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V55 tmp29 | |
[000733] n----------- arg1 \--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000732] ------------ \--* ADDR byref | |
[000731] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V56 tmp30 | |
***** BB32 | |
STMT00194 (IL ???... ???) | |
[000739] -AC--------- * ASG struct (copy) | |
[000737] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V19 loc17 | |
[000736] --C--------- \--* RET_EXPR struct(inl return expr [000727]) | |
***** BB32 | |
STMT00195 (IL 0x18C...0x18E) | |
[000743] -A---------- * ASG struct (copy) | |
[000741] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V10 loc8 | |
[000740] ------------ \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V19 loc17 | |
------------ BB88 [???..???) -> BB33 (callf), preds={} succs={BB33} | |
------------ BB89 [???..???) -> BB81 (ALWAYS), preds={} succs={BB81} | |
------------ BB33 [195..19D) (finret), preds={} succs={BB89} | |
***** BB33 | |
STMT00196 (IL 0x195...0x19C) | |
[000746] I-C-G------- * CALL void Python.Runtime.NewReference.Dispose (exactContextHnd=0x00007FF9001F4CA9) | |
[000745] ------------ this in rcx \--* ADDR byref | |
[000744] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V18 loc16 | |
***** BB33 | |
STMT00197 (IL 0x19C... ???) | |
[000747] ------------ * RETFILT void | |
------------ BB34 [19D..1A5) (return), preds={} succs={} | |
***** BB34 | |
STMT00175 (IL 0x19D...0x1A4) | |
[000664] I-C-G------- * CALL struct Python.Runtime.CLRObject.GetReference (exactContextHnd=0x00007FF90278F5B1) | |
[000662] ------------ arg0 +--* LCL_VAR ref V00 arg0 | |
[000663] ------------ arg1 \--* LCL_VAR ref V01 arg1 | |
***** BB34 | |
STMT00176 (IL ???... ???) | |
[000666] --C--------- * RETURN struct | |
[000665] --C--------- \--* RET_EXPR struct(inl return expr [000664]) | |
------------ BB35 [1A5..1B1) (return), preds={} succs={} | |
***** BB35 | |
STMT00011 (IL 0x1A5...0x1B0) | |
[000044] I-CXG------- * CALL struct Python.Runtime.Runtime.PyString_FromString (exactContextHnd=0x00007FF9001CEA41) | |
[000043] --CXG------- arg0 \--* CALL help ref HELPER.CORINFO_HELP_CHKCASTCLASS | |
[000042] H------N---- arg0 +--* CNS_INT(h) long 0x7ff8fcf8f7c8 class | |
[000041] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB35 | |
STMT00012 (IL ???... ???) | |
[000046] --C--------- * RETURN struct | |
[000045] --C--------- \--* RET_EXPR struct(inl return expr [000044]) | |
------------ BB36 [1B1..1BD) (return), preds={} succs={} | |
***** BB36 | |
STMT00124 (IL 0x1B1...0x1BC) | |
[000474] --CXG------- * QMARK void | |
[000468] Q--X-------- if +--* EQ int | |
[000467] #--X-------- | +--* IND long | |
[000464] ------------ | | \--* LCL_VAR ref V00 arg0 | |
[000465] H----------- | \--* CNS_INT(h) long 0x7ff8fcf22580 class | |
[000473] --CXG------- if \--* COLON void | |
[000471] --CXG------- else +--* CALL help void HELPER.CORINFO_HELP_UNBOX | |
[000470] H----------- arg0 | +--* CNS_INT(h) long 0x7ff8fcf22580 class | |
[000466] ------------ arg1 | \--* LCL_VAR ref V00 arg0 | |
[000472] ------------ then \--* NOP void | |
***** BB36 | |
STMT00125 (IL ???... ???) | |
[000478] I-CXG------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000477] *--XG------- arg0 \--* IND int | |
[000476] ------------ \--* ADD byref | |
[000469] ------------ +--* LCL_VAR ref V00 arg0 | |
[000475] ------------ \--* CNS_INT long 8 | |
***** BB36 | |
STMT00126 (IL ???... ???) | |
[000480] --C--------- * RETURN struct | |
[000479] --C--------- \--* RET_EXPR struct(inl return expr [000478]) | |
------------ BB37 [1BD..1C5) -> BB39 (cond), preds={} succs={BB38,BB39} | |
***** BB37 | |
STMT00137 (IL 0x1BD...0x1C3) | |
[000527] --CXG------- * JTRUE void | |
[000526] --CXG------- \--* EQ int | |
[000524] *-CXG------- +--* IND bool | |
[000523] --CXG------- | \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000522] H----------- arg0 | +--* CNS_INT(h) long 0x7ff8fced5500 class | |
[000521] ------------ arg1 | \--* LCL_VAR ref V00 arg0 | |
[000525] ------------ \--* CNS_INT int 0 | |
------------ BB38 [1C5..1D1) (return), preds={} succs={} | |
***** BB38 | |
STMT00143 (IL 0x1C5...0x1D0) | |
[000546] I-C-G------- * CALL struct Python.Runtime.Runtime.get_PyTrue (exactContextHnd=0x00007FF9001CEA41) | |
***** BB38 | |
STMT00144 (IL ???... ???) | |
[000551] IA---------- * ASG struct (init) | |
[000549] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V49 tmp23 | |
[000550] ------------ \--* CNS_INT int 0 | |
***** BB38 | |
STMT00145 (IL ???... ???) | |
[000557] -AC--------- * ASG struct (copy) | |
[000555] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V50 tmp24 | |
[000547] --C--------- \--* RET_EXPR struct(inl return expr [000546]) | |
***** BB38 | |
STMT00146 (IL ???... ???) | |
[000554] I-C-G------- * CALL void Python.Runtime.NewReference..ctor (exactContextHnd=0x00007FF9001F4CA9) | |
[000553] ------------ this in rcx +--* ADDR byref | |
[000552] -------N---- | \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V49 tmp23 | |
[000560] n----------- arg1 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000559] ------------ | \--* ADDR byref | |
[000558] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V50 tmp24 | |
[000561] ------------ arg2 \--* PUTARG_TYPE bool | |
[000548] ------------ \--* CNS_INT int 0 | |
***** BB38 | |
STMT00147 (IL 0x1D0... ???) | |
[000563] ------------ * RETURN struct | |
[000562] ------------ \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V49 tmp23 | |
------------ BB39 [1D1..1DD) (return), preds={} succs={} | |
***** BB39 | |
STMT00138 (IL 0x1D1...0x1DC) | |
[000528] I-C-G------- * CALL struct Python.Runtime.Runtime.get_PyFalse (exactContextHnd=0x00007FF9001CEA41) | |
***** BB39 | |
STMT00139 (IL ???... ???) | |
[000533] IA---------- * ASG struct (init) | |
[000531] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V47 tmp21 | |
[000532] ------------ \--* CNS_INT int 0 | |
***** BB39 | |
STMT00140 (IL ???... ???) | |
[000539] -AC--------- * ASG struct (copy) | |
[000537] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V48 tmp22 | |
[000529] --C--------- \--* RET_EXPR struct(inl return expr [000528]) | |
***** BB39 | |
STMT00141 (IL ???... ???) | |
[000536] I-C-G------- * CALL void Python.Runtime.NewReference..ctor (exactContextHnd=0x00007FF9001F4CA9) | |
[000535] ------------ this in rcx +--* ADDR byref | |
[000534] -------N---- | \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V47 tmp21 | |
[000542] n----------- arg1 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000541] ------------ | \--* ADDR byref | |
[000540] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V48 tmp22 | |
[000543] ------------ arg2 \--* PUTARG_TYPE bool | |
[000530] ------------ \--* CNS_INT int 0 | |
***** BB39 | |
STMT00142 (IL 0x1DC... ???) | |
[000545] ------------ * RETURN struct | |
[000544] ------------ \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V47 tmp21 | |
------------ BB40 [1DD..1E9) (return), preds={} succs={} | |
***** BB40 | |
STMT00131 (IL 0x1DD...0x1E8) | |
[000501] I-CXG------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000502] --CXG------- arg0 \--* PUTARG_TYPE int | |
[000500] *-CXG------- \--* IND ubyte | |
[000499] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000498] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcefb290 class | |
[000497] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB40 | |
STMT00132 (IL ???... ???) | |
[000504] --C--------- * RETURN struct | |
[000503] --C--------- \--* RET_EXPR struct(inl return expr [000501]) | |
------------ BB41 [1E9..1F5) (return), preds={} succs={} | |
***** BB41 | |
STMT00135 (IL 0x1E9...0x1F4) | |
[000517] I-CXG------- * CALL struct Python.Runtime.Runtime.PyUnicode_FromOrdinal (exactContextHnd=0x00007FF9001CEA41) | |
[000518] --CXG------- arg0 \--* PUTARG_TYPE int | |
[000516] *-CXG------- \--* IND ushort | |
[000515] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000514] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcedb2f8 class | |
[000513] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB41 | |
STMT00136 (IL ???... ???) | |
[000520] --C--------- * RETURN struct | |
[000519] --C--------- \--* RET_EXPR struct(inl return expr [000517]) | |
------------ BB42 [1F5..201) (return), preds={} succs={} | |
***** BB42 | |
STMT00129 (IL 0x1F5...0x200) | |
[000493] I-CXG------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000494] --CXG------- arg0 \--* PUTARG_TYPE int | |
[000492] *-CXG------- \--* IND short | |
[000491] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000490] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcefd840 class | |
[000489] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB42 | |
STMT00130 (IL ???... ???) | |
[000496] --C--------- * RETURN struct | |
[000495] --C--------- \--* RET_EXPR struct(inl return expr [000493]) | |
------------ BB43 [201..20D) (return), preds={} succs={} | |
***** BB43 | |
STMT00120 (IL 0x201...0x20C) | |
[000453] I-CXG------- * CALL struct Python.Runtime.Runtime.PyLong_FromLongLong (exactContextHnd=0x00007FF9001CEA41) | |
[000452] *-CXG------- arg0 \--* IND long | |
[000451] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000450] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcf26f98 class | |
[000449] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB43 | |
STMT00121 (IL ???... ???) | |
[000455] --C--------- * RETURN struct | |
[000454] --C--------- \--* RET_EXPR struct(inl return expr [000453]) | |
------------ BB44 [20D..21A) (return), preds={} succs={} | |
***** BB44 | |
STMT00116 (IL 0x20D...0x219) | |
[000439] I-CXG------- * CALL struct Python.Runtime.Runtime.PyFloat_FromDouble (exactContextHnd=0x00007FF9001CEA41) | |
[000438] --CXG------- arg0 \--* CAST double <- float | |
[000437] *-CXG------- \--* IND float | |
[000436] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000435] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcf2dea0 class | |
[000434] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB44 | |
STMT00117 (IL ???... ???) | |
[000441] --C--------- * RETURN struct | |
[000440] --C--------- \--* RET_EXPR struct(inl return expr [000439]) | |
------------ BB45 [21A..226) (return), preds={} succs={} | |
***** BB45 | |
STMT00114 (IL 0x21A...0x225) | |
[000431] I-CXG------- * CALL struct Python.Runtime.Runtime.PyFloat_FromDouble (exactContextHnd=0x00007FF9001CEA41) | |
[000430] *-CXG------- arg0 \--* IND double | |
[000429] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000428] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcf57320 class | |
[000427] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB45 | |
STMT00115 (IL ???... ???) | |
[000433] --C--------- * RETURN struct | |
[000432] --C--------- \--* RET_EXPR struct(inl return expr [000431]) | |
------------ BB46 [226..232) (return), preds={} succs={} | |
***** BB46 | |
STMT00133 (IL 0x226...0x231) | |
[000509] I-CXG------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000510] --CXG------- arg0 \--* PUTARG_TYPE int | |
[000508] *-CXG------- \--* IND byte | |
[000507] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000506] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcef6bc8 class | |
[000505] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB46 | |
STMT00134 (IL ???... ???) | |
[000512] --C--------- * RETURN struct | |
[000511] --C--------- \--* RET_EXPR struct(inl return expr [000509]) | |
------------ BB47 [232..23E) (return), preds={} succs={} | |
***** BB47 | |
STMT00127 (IL 0x232...0x23D) | |
[000485] I-CXG------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000486] --CXG------- arg0 \--* PUTARG_TYPE int | |
[000484] *-CXG------- \--* IND ushort | |
[000483] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000482] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcf20000 class | |
[000481] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB47 | |
STMT00128 (IL ???... ???) | |
[000488] --C--------- * RETURN struct | |
[000487] --C--------- \--* RET_EXPR struct(inl return expr [000485]) | |
------------ BB48 [23E..24B) (return), preds={} succs={} | |
***** BB48 | |
STMT00122 (IL 0x23E...0x24A) | |
[000461] I-CXG------- * CALL struct Python.Runtime.Runtime.PyLong_FromUnsignedLongLong (exactContextHnd=0x00007FF9001CEA41) | |
[000460] --CXG----U-- arg0 \--* CAST long <- ulong <- uint | |
[000459] *-CXG------- \--* IND int | |
[000458] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000457] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcf24a68 class | |
[000456] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB48 | |
STMT00123 (IL ???... ???) | |
[000463] --C--------- * RETURN struct | |
[000462] --C--------- \--* RET_EXPR struct(inl return expr [000461]) | |
------------ BB49 [24B..257) (return), preds={} succs={} | |
***** BB49 | |
STMT00118 (IL 0x24B...0x256) | |
[000446] I-CXG------- * CALL struct Python.Runtime.Runtime.PyLong_FromUnsignedLongLong (exactContextHnd=0x00007FF9001CEA41) | |
[000445] *-CXG------- arg0 \--* IND long | |
[000444] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000443] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcf29478 class | |
[000442] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB49 | |
STMT00119 (IL ???... ???) | |
[000448] --C--------- * RETURN struct | |
[000447] --C--------- \--* RET_EXPR struct(inl return expr [000446]) | |
------------ BB50 [257..268) (return), preds={} succs={} | |
***** BB50 | |
STMT00111 (IL 0x257...0x267) | |
[000422] I-CXG------- * CALL double System.Decimal.ToDouble (exactContextHnd=0x00007FF8FCF5F5B9) | |
[000421] --CXG------- arg0 \--* OBJ struct<System.Decimal, 16> | |
[000420] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000419] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fcf5f5b8 class | |
[000418] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB50 | |
STMT00112 (IL ???... ???) | |
[000424] I-C-G------- * CALL struct Python.Runtime.Runtime.PyFloat_FromDouble (exactContextHnd=0x00007FF9001CEA41) | |
[000423] --C--------- arg0 \--* RET_EXPR double(inl return expr [000422]) | |
***** BB50 | |
STMT00113 (IL ???... ???) | |
[000426] --C--------- * RETURN struct | |
[000425] --C--------- \--* RET_EXPR struct(inl return expr [000424]) | |
------------ BB51 [268..279) -> BB53 (cond), preds={} succs={BB52,BB53} | |
***** BB51 | |
STMT00013 (IL 0x268...0x26E) | |
[000053] -ACXG------- * ASG struct (copy) | |
[000051] D------N---- +--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
[000050] --CXG------- \--* OBJ struct<System.DateTime, 8> | |
[000049] --CXG------- \--* CALL help byref HELPER.CORINFO_HELP_UNBOX | |
[000048] H----------- arg0 +--* CNS_INT(h) long 0x7ff8fd4cc3e8 class | |
[000047] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
***** BB51 | |
STMT00014 (IL 0x270...0x277) | |
[000056] I-C-G------- * CALL int System.DateTime.get_Kind (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000055] ------------ this in rcx \--* ADDR byref | |
[000054] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
***** BB51 | |
STMT00015 (IL ???... ???) | |
[000060] --C--------- * JTRUE void | |
[000059] --C--------- \--* EQ int | |
[000057] --C--------- +--* RET_EXPR int (inl return expr [000056]) | |
[000058] ------------ \--* CNS_INT int 0 | |
------------ BB52 [279..27C) -> BB54 (always), preds={} succs={BB54} | |
***** BB52 | |
STMT00110 (IL 0x279...0x27A) | |
[000416] -A---------- * ASG int | |
[000415] D------N---- +--* LCL_VAR int V27 tmp1 | |
[000414] ------------ \--* CNS_INT int 8 | |
------------ BB53 [27C..27D), preds={} succs={BB54} | |
***** BB53 | |
STMT00016 (IL 0x27C...0x27C) | |
[000063] -A---------- * ASG int | |
[000062] D------N---- +--* LCL_VAR int V27 tmp1 | |
[000061] ------------ \--* CNS_INT int 7 | |
------------ BB54 [27D..288) -> BB56 (cond), preds={} succs={BB55,BB56} | |
***** BB54 | |
STMT00017 (IL ???...0x27D) | |
[000067] -A---------- * ASG int | |
[000066] D------N---- +--* LCL_VAR int V12 loc10 | |
[000065] ------------ \--* LCL_VAR int V27 tmp1 | |
***** BB54 | |
STMT00018 (IL 0x27F...0x286) | |
[000070] I-C-G------- * CALL int System.DateTime.get_Kind (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000069] ------------ this in rcx \--* ADDR byref | |
[000068] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
***** BB54 | |
STMT00019 (IL ???... ???) | |
[000074] --C--------- * JTRUE void | |
[000073] --C--------- \--* EQ int | |
[000071] --C--------- +--* RET_EXPR int (inl return expr [000070]) | |
[000072] ------------ \--* CNS_INT int 0 | |
------------ BB55 [288..28F) -> BB57 (always), preds={} succs={BB57} | |
***** BB55 | |
STMT00109 (IL 0x288...0x28D) | |
[000412] -A--G------- * ASG ref | |
[000411] D------N---- +--* LCL_VAR ref V28 tmp2 | |
[000410] ----G------- \--* FIELD ref pyTupleKind | |
------------ BB56 [28F..294), preds={} succs={BB57} | |
***** BB56 | |
STMT00020 (IL 0x28F...0x28F) | |
[000077] -A--G------- * ASG ref | |
[000076] D------N---- +--* LCL_VAR ref V28 tmp2 | |
[000075] ----G------- \--* FIELD ref pyTupleNoKind | |
------------ BB57 [294..3A4) -> BB59 (cond), preds={} succs={BB58,BB59} | |
***** BB57 | |
STMT00021 (IL ???...0x294) | |
[000081] -A---------- * ASG ref | |
[000080] D------N---- +--* LCL_VAR ref V13 loc11 | |
[000079] ------------ \--* LCL_VAR ref V28 tmp2 | |
***** BB57 | |
STMT00022 (IL 0x296...0x2AB) | |
[000083] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000082] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
***** BB57 | |
STMT00024 (IL ???... ???) | |
[000092] -AC--------- * ASG struct (copy) | |
[000090] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V29 tmp3 | |
[000084] --C--------- \--* RET_EXPR struct(inl return expr [000083]) | |
***** BB57 | |
STMT00023 (IL ???... ???) | |
[000089] I-C-G------- * CALL int System.DateTime.get_Year (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000088] ------------ this in rcx \--* ADDR byref | |
[000087] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
***** BB57 | |
STMT00025 (IL ???... ???) | |
[000095] I-C-G------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000094] --C--------- arg0 \--* RET_EXPR int (inl return expr [000089]) | |
***** BB57 | |
STMT00026 (IL ???... ???) | |
[000099] -AC--------- * ASG struct (copy) | |
[000097] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000096] --C--------- \--* RET_EXPR struct(inl return expr [000095]) | |
***** BB57 | |
STMT00027 (IL ???...0x2B9) | |
[000102] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000101] ------------ this in rcx \--* ADDR byref | |
[000100] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
***** BB57 | |
STMT00028 (IL ???... ???) | |
[000107] -AC--------- * ASG struct (copy) | |
[000105] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V30 tmp4 | |
[000103] --C--------- \--* RET_EXPR struct(inl return expr [000102]) | |
***** BB57 | |
STMT00029 (IL ???... ???) | |
[000104] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000112] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000111] ------------ | \--* ADDR byref | |
[000093] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V29 tmp3 | |
[000086] ------------ arg1 +--* CNS_INT long 0 | |
[000110] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000109] ------------ \--* ADDR byref | |
[000108] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V30 tmp4 | |
***** BB57 | |
STMT00030 (IL ???... ???) | |
[000115] --C--------- * COMMA void | |
[000113] --C--------- +--* RET_EXPR int (inl return expr [000104]) | |
[000114] ------------ \--* NOP void | |
***** BB57 | |
STMT00031 (IL 0x2BA...0x2CF) | |
[000117] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000116] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
***** BB57 | |
STMT00033 (IL ???... ???) | |
[000126] -AC--------- * ASG struct (copy) | |
[000124] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V31 tmp5 | |
[000118] --C--------- \--* RET_EXPR struct(inl return expr [000117]) | |
***** BB57 | |
STMT00032 (IL ???... ???) | |
[000123] I-C-G------- * CALL int System.DateTime.get_Month (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000122] ------------ this in rcx \--* ADDR byref | |
[000121] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
***** BB57 | |
STMT00034 (IL ???... ???) | |
[000129] I-C-G------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000128] --C--------- arg0 \--* RET_EXPR int (inl return expr [000123]) | |
***** BB57 | |
STMT00035 (IL ???... ???) | |
[000133] -AC--------- * ASG struct (copy) | |
[000131] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000130] --C--------- \--* RET_EXPR struct(inl return expr [000129]) | |
***** BB57 | |
STMT00036 (IL ???...0x2DD) | |
[000136] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000135] ------------ this in rcx \--* ADDR byref | |
[000134] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
***** BB57 | |
STMT00037 (IL ???... ???) | |
[000141] -AC--------- * ASG struct (copy) | |
[000139] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V32 tmp6 | |
[000137] --C--------- \--* RET_EXPR struct(inl return expr [000136]) | |
***** BB57 | |
STMT00038 (IL ???... ???) | |
[000138] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000146] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000145] ------------ | \--* ADDR byref | |
[000127] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V31 tmp5 | |
[000120] ------------ arg1 +--* CNS_INT long 1 | |
[000144] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000143] ------------ \--* ADDR byref | |
[000142] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V32 tmp6 | |
***** BB57 | |
STMT00039 (IL ???... ???) | |
[000149] --C--------- * COMMA void | |
[000147] --C--------- +--* RET_EXPR int (inl return expr [000138]) | |
[000148] ------------ \--* NOP void | |
***** BB57 | |
STMT00040 (IL 0x2DE...0x2F3) | |
[000151] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000150] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
***** BB57 | |
STMT00042 (IL ???... ???) | |
[000160] -AC--------- * ASG struct (copy) | |
[000158] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V33 tmp7 | |
[000152] --C--------- \--* RET_EXPR struct(inl return expr [000151]) | |
***** BB57 | |
STMT00041 (IL ???... ???) | |
[000157] I-C-G------- * CALL int System.DateTime.get_Day (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000156] ------------ this in rcx \--* ADDR byref | |
[000155] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
***** BB57 | |
STMT00043 (IL ???... ???) | |
[000163] I-C-G------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000162] --C--------- arg0 \--* RET_EXPR int (inl return expr [000157]) | |
***** BB57 | |
STMT00044 (IL ???... ???) | |
[000167] -AC--------- * ASG struct (copy) | |
[000165] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000164] --C--------- \--* RET_EXPR struct(inl return expr [000163]) | |
***** BB57 | |
STMT00045 (IL ???...0x301) | |
[000170] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000169] ------------ this in rcx \--* ADDR byref | |
[000168] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
***** BB57 | |
STMT00046 (IL ???... ???) | |
[000175] -AC--------- * ASG struct (copy) | |
[000173] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V34 tmp8 | |
[000171] --C--------- \--* RET_EXPR struct(inl return expr [000170]) | |
***** BB57 | |
STMT00047 (IL ???... ???) | |
[000172] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000180] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000179] ------------ | \--* ADDR byref | |
[000161] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V33 tmp7 | |
[000154] ------------ arg1 +--* CNS_INT long 2 | |
[000178] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000177] ------------ \--* ADDR byref | |
[000176] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V34 tmp8 | |
***** BB57 | |
STMT00048 (IL ???... ???) | |
[000183] --C--------- * COMMA void | |
[000181] --C--------- +--* RET_EXPR int (inl return expr [000172]) | |
[000182] ------------ \--* NOP void | |
***** BB57 | |
STMT00049 (IL 0x302...0x317) | |
[000185] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000184] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
***** BB57 | |
STMT00051 (IL ???... ???) | |
[000194] -AC--------- * ASG struct (copy) | |
[000192] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V35 tmp9 | |
[000186] --C--------- \--* RET_EXPR struct(inl return expr [000185]) | |
***** BB57 | |
STMT00050 (IL ???... ???) | |
[000191] I-C-G------- * CALL int System.DateTime.get_Hour (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000190] ------------ this in rcx \--* ADDR byref | |
[000189] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
***** BB57 | |
STMT00052 (IL ???... ???) | |
[000197] I-C-G------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000196] --C--------- arg0 \--* RET_EXPR int (inl return expr [000191]) | |
***** BB57 | |
STMT00053 (IL ???... ???) | |
[000201] -AC--------- * ASG struct (copy) | |
[000199] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000198] --C--------- \--* RET_EXPR struct(inl return expr [000197]) | |
***** BB57 | |
STMT00054 (IL ???...0x325) | |
[000204] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000203] ------------ this in rcx \--* ADDR byref | |
[000202] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
***** BB57 | |
STMT00055 (IL ???... ???) | |
[000209] -AC--------- * ASG struct (copy) | |
[000207] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V36 tmp10 | |
[000205] --C--------- \--* RET_EXPR struct(inl return expr [000204]) | |
***** BB57 | |
STMT00056 (IL ???... ???) | |
[000206] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000214] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000213] ------------ | \--* ADDR byref | |
[000195] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V35 tmp9 | |
[000188] ------------ arg1 +--* CNS_INT long 3 | |
[000212] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000211] ------------ \--* ADDR byref | |
[000210] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V36 tmp10 | |
***** BB57 | |
STMT00057 (IL ???... ???) | |
[000217] --C--------- * COMMA void | |
[000215] --C--------- +--* RET_EXPR int (inl return expr [000206]) | |
[000216] ------------ \--* NOP void | |
***** BB57 | |
STMT00058 (IL 0x326...0x33B) | |
[000219] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000218] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
***** BB57 | |
STMT00060 (IL ???... ???) | |
[000228] -AC--------- * ASG struct (copy) | |
[000226] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V37 tmp11 | |
[000220] --C--------- \--* RET_EXPR struct(inl return expr [000219]) | |
***** BB57 | |
STMT00059 (IL ???... ???) | |
[000225] I-C-G------- * CALL int System.DateTime.get_Minute (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000224] ------------ this in rcx \--* ADDR byref | |
[000223] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
***** BB57 | |
STMT00061 (IL ???... ???) | |
[000231] I-C-G------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000230] --C--------- arg0 \--* RET_EXPR int (inl return expr [000225]) | |
***** BB57 | |
STMT00062 (IL ???... ???) | |
[000235] -AC--------- * ASG struct (copy) | |
[000233] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000232] --C--------- \--* RET_EXPR struct(inl return expr [000231]) | |
***** BB57 | |
STMT00063 (IL ???...0x349) | |
[000238] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000237] ------------ this in rcx \--* ADDR byref | |
[000236] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
***** BB57 | |
STMT00064 (IL ???... ???) | |
[000243] -AC--------- * ASG struct (copy) | |
[000241] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V38 tmp12 | |
[000239] --C--------- \--* RET_EXPR struct(inl return expr [000238]) | |
***** BB57 | |
STMT00065 (IL ???... ???) | |
[000240] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000248] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000247] ------------ | \--* ADDR byref | |
[000229] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V37 tmp11 | |
[000222] ------------ arg1 +--* CNS_INT long 4 | |
[000246] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000245] ------------ \--* ADDR byref | |
[000244] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V38 tmp12 | |
***** BB57 | |
STMT00066 (IL ???... ???) | |
[000251] --C--------- * COMMA void | |
[000249] --C--------- +--* RET_EXPR int (inl return expr [000240]) | |
[000250] ------------ \--* NOP void | |
***** BB57 | |
STMT00067 (IL 0x34A...0x35F) | |
[000253] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000252] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
***** BB57 | |
STMT00069 (IL ???... ???) | |
[000262] -AC--------- * ASG struct (copy) | |
[000260] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V39 tmp13 | |
[000254] --C--------- \--* RET_EXPR struct(inl return expr [000253]) | |
***** BB57 | |
STMT00068 (IL ???... ???) | |
[000259] I-C-G------- * CALL int System.DateTime.get_Second (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000258] ------------ this in rcx \--* ADDR byref | |
[000257] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
***** BB57 | |
STMT00070 (IL ???... ???) | |
[000265] I-C-G------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000264] --C--------- arg0 \--* RET_EXPR int (inl return expr [000259]) | |
***** BB57 | |
STMT00071 (IL ???... ???) | |
[000269] -AC--------- * ASG struct (copy) | |
[000267] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000266] --C--------- \--* RET_EXPR struct(inl return expr [000265]) | |
***** BB57 | |
STMT00072 (IL ???...0x36D) | |
[000272] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000271] ------------ this in rcx \--* ADDR byref | |
[000270] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
***** BB57 | |
STMT00073 (IL ???... ???) | |
[000277] -AC--------- * ASG struct (copy) | |
[000275] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V40 tmp14 | |
[000273] --C--------- \--* RET_EXPR struct(inl return expr [000272]) | |
***** BB57 | |
STMT00074 (IL ???... ???) | |
[000274] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000282] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000281] ------------ | \--* ADDR byref | |
[000263] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V39 tmp13 | |
[000256] ------------ arg1 +--* CNS_INT long 5 | |
[000280] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000279] ------------ \--* ADDR byref | |
[000278] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V40 tmp14 | |
***** BB57 | |
STMT00075 (IL ???... ???) | |
[000285] --C--------- * COMMA void | |
[000283] --C--------- +--* RET_EXPR int (inl return expr [000274]) | |
[000284] ------------ \--* NOP void | |
***** BB57 | |
STMT00076 (IL 0x36E...0x375) | |
[000288] I-C-G------- * CALL struct System.DateTime.get_TimeOfDay (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000287] ------------ this in rcx \--* ADDR byref | |
[000286] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
***** BB57 | |
STMT00077 (IL ???... ???) | |
[000292] -AC--------- * ASG struct (copy) | |
[000290] D------N---- +--* LCL_VAR struct<System.TimeSpan, 8> V21 loc19 | |
[000289] --C--------- \--* RET_EXPR struct(inl return expr [000288]) | |
***** BB57 | |
STMT00078 (IL 0x377...0x37E) | |
[000295] I-C-G------- * CALL double System.TimeSpan.get_TotalSeconds (exactContextHnd=0x00007FF8FD001FA1) | |
[000294] ------------ this in rcx \--* ADDR byref | |
[000293] -------N---- \--* LCL_VAR struct<System.TimeSpan, 8> V21 loc19 | |
***** BB57 | |
STMT00079 (IL ???... ???) | |
[000298] -AC--------- * ASG double | |
[000297] D------N---- +--* LCL_VAR double V14 loc12 | |
[000296] --C--------- \--* RET_EXPR double(inl return expr [000295]) | |
***** BB57 | |
STMT00080 (IL 0x380...0x399) | |
[000301] I-C-G------- * CALL double System.Math.Truncate (exactContextHnd=0x00007FF8FD49AA39) | |
[000300] ------------ arg0 \--* LCL_VAR double V14 loc12 | |
***** BB57 | |
STMT00081 (IL ???... ???) | |
[000306] I-C-G------- * CALL int System.Convert.ToInt32 (exactContextHnd=0x00007FF8FD404741) | |
[000305] --C--------- arg0 \--* MUL double | |
[000303] --C--------- +--* SUB double | |
[000299] ------------ | +--* LCL_VAR double V14 loc12 | |
[000302] --C--------- | \--* RET_EXPR double(inl return expr [000301]) | |
[000304] ------------ \--* CNS_DBL double 1000000.0000000000 | |
***** BB57 | |
STMT00082 (IL ???... ???) | |
[000309] -AC--------- * ASG int | |
[000308] D------N---- +--* LCL_VAR int V15 loc13 | |
[000307] --C--------- \--* RET_EXPR int (inl return expr [000306]) | |
***** BB57 | |
STMT00083 (IL 0x39B...0x3A2) | |
[000313] ------------ * JTRUE void | |
[000312] N--------U-- \--* NE int | |
[000310] ------------ +--* LCL_VAR int V15 loc13 | |
[000311] ------------ \--* CNS_INT int 0xF4240 | |
------------ BB58 [3A4..3AB), preds={} succs={BB59} | |
***** BB58 | |
STMT00108 (IL 0x3A4...0x3A9) | |
[000409] -A---------- * ASG int | |
[000408] D------N---- +--* LCL_VAR int V15 loc13 | |
[000407] ------------ \--* CNS_INT int 0xF423F | |
------------ BB59 [3AB..3CF) -> BB61 (cond), preds={} succs={BB60,BB61} | |
***** BB59 | |
STMT00084 (IL 0x3AB...0x3BB) | |
[000315] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000314] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
***** BB59 | |
STMT00086 (IL ???... ???) | |
[000323] -AC--------- * ASG struct (copy) | |
[000321] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V41 tmp15 | |
[000316] --C--------- \--* RET_EXPR struct(inl return expr [000315]) | |
***** BB59 | |
STMT00085 (IL ???... ???) | |
[000320] I-C-G------- * CALL struct Python.Runtime.Runtime.PyInt_FromInt32 (exactContextHnd=0x00007FF9001CEA41) | |
[000319] ------------ arg0 \--* LCL_VAR int V15 loc13 | |
***** BB59 | |
STMT00087 (IL ???... ???) | |
[000328] -AC--------- * ASG struct (copy) | |
[000326] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000325] --C--------- \--* RET_EXPR struct(inl return expr [000320]) | |
***** BB59 | |
STMT00088 (IL ???...0x3C9) | |
[000331] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000330] ------------ this in rcx \--* ADDR byref | |
[000329] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
***** BB59 | |
STMT00089 (IL ???... ???) | |
[000336] -AC--------- * ASG struct (copy) | |
[000334] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V42 tmp16 | |
[000332] --C--------- \--* RET_EXPR struct(inl return expr [000331]) | |
***** BB59 | |
STMT00090 (IL ???... ???) | |
[000333] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000341] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000340] ------------ | \--* ADDR byref | |
[000324] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V41 tmp15 | |
[000318] ------------ arg1 +--* CNS_INT long 6 | |
[000339] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000338] ------------ \--* ADDR byref | |
[000337] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V42 tmp16 | |
***** BB59 | |
STMT00091 (IL ???... ???) | |
[000344] --C--------- * COMMA void | |
[000342] --C--------- +--* RET_EXPR int (inl return expr [000333]) | |
[000343] ------------ \--* NOP void | |
***** BB59 | |
STMT00092 (IL 0x3CA...0x3CD) | |
[000348] ------------ * JTRUE void | |
[000347] N--------U-- \--* NE int | |
[000345] ------------ +--* LCL_VAR int V12 loc10 | |
[000346] ------------ \--* CNS_INT int 8 | |
------------ BB60 [3CF..3F3), preds={} succs={BB61} | |
***** BB60 | |
STMT00100 (IL 0x3CF...0x3E4) | |
[000375] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000374] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
***** BB60 | |
STMT00102 (IL ???... ???) | |
[000384] -AC--------- * ASG struct (copy) | |
[000382] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V45 tmp19 | |
[000376] --C--------- \--* RET_EXPR struct(inl return expr [000375]) | |
***** BB60 | |
STMT00101 (IL ???... ???) | |
[000381] I-C-G------- * CALL int System.DateTime.get_Kind (exactContextHnd=0x00007FF8FD4CC3E9) | |
[000380] ------------ this in rcx \--* ADDR byref | |
[000379] -------N---- \--* LCL_VAR struct<System.DateTime, 8> V11 loc9 | |
***** BB60 | |
STMT00103 (IL ???... ???) | |
[000390] -AC-G------- * ASG struct (copy) | |
[000388] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
[000387] --C-G------- \--* CALL struct Python.Runtime.Converter.TzInfo | |
[000386] --C--------- arg0 \--* RET_EXPR int (inl return expr [000381]) | |
***** BB60 | |
STMT00104 (IL ???...0x3F2) | |
[000393] I-C-G------- * CALL struct Python.Runtime.NewReference.Steal (exactContextHnd=0x00007FF9001F4CA9) | |
[000392] ------------ this in rcx \--* ADDR byref | |
[000391] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V20 loc18 | |
***** BB60 | |
STMT00105 (IL ???... ???) | |
[000398] -AC--------- * ASG struct (copy) | |
[000396] D------N---- +--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V46 tmp20 | |
[000394] --C--------- \--* RET_EXPR struct(inl return expr [000393]) | |
***** BB60 | |
STMT00106 (IL ???... ???) | |
[000395] I-C-G------- * CALL int Python.Runtime.Runtime.PyTuple_SetItem (exactContextHnd=0x00007FF9001CEA41) | |
[000403] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000402] ------------ | \--* ADDR byref | |
[000385] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V45 tmp19 | |
[000378] ------------ arg1 +--* CNS_INT long 7 | |
[000401] n----------- arg2 \--* OBJ struct<Python.Runtime.StolenReference, 8> | |
[000400] ------------ \--* ADDR byref | |
[000399] -------N---- \--* LCL_VAR struct<Python.Runtime.StolenReference, 8> V46 tmp20 | |
***** BB60 | |
STMT00107 (IL ???... ???) | |
[000406] --C--------- * COMMA void | |
[000404] --C--------- +--* RET_EXPR int (inl return expr [000395]) | |
[000405] ------------ \--* NOP void | |
------------ BB61 [3F3..40E) (return), preds={} succs={} | |
***** BB61 | |
STMT00093 (IL 0x3F3...0x409) | |
[000350] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000349] ----G------- arg0 \--* FIELD ref dateTimeCtor | |
***** BB61 | |
STMT00095 (IL ???... ???) | |
[000356] -AC--------- * ASG struct (copy) | |
[000354] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V43 tmp17 | |
[000351] --C--------- \--* RET_EXPR struct(inl return expr [000350]) | |
***** BB61 | |
STMT00094 (IL ???... ???) | |
[000353] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000352] ------------ arg0 \--* LCL_VAR ref V13 loc11 | |
***** BB61 | |
STMT00096 (IL ???... ???) | |
[000362] -AC--------- * ASG struct (copy) | |
[000360] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V44 tmp18 | |
[000358] --C--------- \--* RET_EXPR struct(inl return expr [000353]) | |
***** BB61 | |
STMT00097 (IL ???... ???) | |
[000359] I-C-G------- * CALL struct Python.Runtime.Runtime.PyObject_CallObject (exactContextHnd=0x00007FF9001CEA41) | |
[000367] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000366] ------------ | \--* ADDR byref | |
[000357] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V43 tmp17 | |
[000365] n----------- arg1 \--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000364] ------------ \--* ADDR byref | |
[000363] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V44 tmp18 | |
***** BB61 | |
STMT00098 (IL ???... ???) | |
[000371] -AC--------- * ASG struct (copy) | |
[000369] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V16 loc14 | |
[000368] --C--------- \--* RET_EXPR struct(inl return expr [000359]) | |
***** BB61 | |
STMT00099 (IL 0x40B...0x40D) | |
[000373] ------------ * RETURN struct | |
[000372] ------------ \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V16 loc14 | |
------------ BB62 [40E..416) -> BB80 (cond), preds={} succs={BB63,BB80} | |
***** BB62 | |
STMT00148 (IL 0x40E...0x414) | |
[000569] --C-G------- * JTRUE void | |
[000568] --C-G------- \--* EQ int | |
[000566] --C-G------- +--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFINTERFACE | |
[000565] H------N---- arg0 | +--* CNS_INT(h) long 0x7ff8fce2fce8 class | |
[000564] ------------ arg1 | \--* LCL_VAR ref V00 arg0 | |
[000567] ------------ \--* CNS_INT ref null | |
------------ BB63 [416..41D), preds={} succs={BB64} | |
***** BB63 | |
STMT00151 (IL 0x416...0x41B) | |
[000578] -A---------- * ASG ref | |
[000577] D------N---- +--* LCL_VAR ref V51 tmp25 | |
[000576] ------------ \--* ALLOCOBJ ref | |
[000575] H----------- \--* CNS_INT(h) long 0x7ff9014b26a0 method | |
***** BB63 | |
STMT00152 (IL ???... ???) | |
[000580] I-C-G------- * CALL void Python.Runtime.PyList..ctor (exactContextHnd=0x00007FF9014B26A1) | |
[000579] ------------ this in rcx \--* LCL_VAR ref V51 tmp25 | |
***** BB63 | |
STMT00153 (IL 0x41B... ???) | |
[000583] -A---------- * ASG ref | |
[000582] D------N---- +--* LCL_VAR ref V22 loc20 | |
[000581] ------------ \--* LCL_VAR ref V51 tmp25 | |
------------ BB64 [41D..42A), preds={} succs={BB65} | |
***** BB64 | |
STMT00154 (IL 0x41D...0x428) | |
[000589] -ACXG------- * ASG ref | |
[000588] D------N---- +--* LCL_VAR ref V23 loc21 | |
[000587] --CXG------- \--* CALLV stub ref System.Collections.IEnumerable.GetEnumerator | |
[000586] --CXG------- this in rcx \--* CALL help ref HELPER.CORINFO_HELP_CHKCASTINTERFACE | |
[000585] H------N---- arg0 +--* CNS_INT(h) long 0x7ff8fce2fce8 class | |
[000584] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
------------ BB65 [42A..42C) -> BB71 (always), preds={} succs={BB71} | |
------------ BB66 [42C..43E), preds={} succs={BB67} | |
***** BB66 | |
STMT00156 (IL 0x42C...0x433) | |
[000598] -AC-G------- * ASG ref | |
[000597] D------N---- +--* LCL_VAR ref V24 loc22 | |
[000596] --C-G------- \--* CALLV stub ref System.Collections.IEnumerator.get_Current | |
[000595] ------------ this in rcx \--* LCL_VAR ref V23 loc21 | |
***** BB66 | |
STMT00157 (IL 0x435...0x43C) | |
[000600] I-C-G------- * CALL ref Python.Runtime.ConverterExtension.ToPython (exactContextHnd=0x00007FF901486E29) | |
[000599] ------------ arg0 \--* LCL_VAR ref V24 loc22 | |
***** BB66 | |
STMT00158 (IL ???... ???) | |
[000603] -AC--------- * ASG ref | |
[000602] D------N---- +--* LCL_VAR ref V25 loc23 | |
[000601] --C--------- \--* RET_EXPR ref (inl return expr [000600]) | |
------------ BB67 [43E..449) -> BB82 (always), preds={} succs={BB82} | |
***** BB67 | |
STMT00159 (IL 0x43E...0x447) | |
[000606] I-C-G------- * CALL nullcheck void Python.Runtime.PyList.Append (exactContextHnd=0x00007FF9014B26A1) | |
[000604] ------------ this in rcx +--* LCL_VAR ref V22 loc20 | |
[000605] ------------ arg1 \--* LCL_VAR ref V25 loc23 | |
------------ BB82 [???..???) -> BB68 (callf), preds={} succs={BB68} | |
------------ BB83 [???..???) -> BB71 (ALWAYS), preds={} succs={BB71} | |
------------ BB68 [449..44D) -> BB70 (cond), preds={} succs={BB69,BB70} | |
***** BB68 | |
STMT00160 (IL 0x449...0x44B) | |
[000610] ------------ * JTRUE void | |
[000609] ------------ \--* EQ int | |
[000607] ------------ +--* LCL_VAR ref V25 loc23 | |
[000608] ------------ \--* CNS_INT ref null | |
------------ BB69 [44D..454), preds={} succs={BB70} | |
***** BB69 | |
STMT00162 (IL 0x44D...0x44F) | |
[000613] --C-G------- * CALLV stub void System.IDisposable.Dispose | |
[000612] ------------ this in rcx \--* LCL_VAR ref V25 loc23 | |
------------ BB70 [454..455) (finret), preds={} succs={BB83} | |
***** BB70 | |
STMT00161 (IL 0x454...0x454) | |
[000611] ------------ * RETFILT void | |
------------ BB71 [455..45E) -> BB66 (cond), preds={} succs={BB72,BB66} | |
***** BB71 | |
STMT00155 (IL 0x455...0x45C) | |
[000594] --C-G------- * JTRUE void | |
[000593] --C-G------- \--* NE int | |
[000591] --C-G------- +--* CALLV stub int System.Collections.IEnumerator.MoveNext | |
[000590] ------------ this in rcx | \--* LCL_VAR ref V23 loc21 | |
[000592] ------------ \--* CNS_INT int 0 | |
------------ BB72 [45E..460) -> BB84 (always), preds={} succs={BB84} | |
------------ BB84 [???..???) -> BB73 (callf), preds={} succs={BB73} | |
------------ BB85 [???..???) -> BB76 (ALWAYS), preds={} succs={BB76} | |
------------ BB73 [460..46D) -> BB75 (cond), preds={} succs={BB74,BB75} | |
***** BB73 | |
STMT00166 (IL 0x460...0x467) | |
[000626] -AC-G------- * ASG ref | |
[000625] D------N---- +--* LCL_VAR ref V09 loc7 | |
[000624] --C-G------- \--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFINTERFACE | |
[000623] H------N---- arg0 +--* CNS_INT(h) long 0x7ff8fcfbd948 class | |
[000622] ------------ arg1 \--* LCL_VAR ref V23 loc21 | |
***** BB73 | |
STMT00167 (IL 0x469...0x46B) | |
[000630] ------------ * JTRUE void | |
[000629] ------------ \--* EQ int | |
[000627] ------------ +--* LCL_VAR ref V09 loc7 | |
[000628] ------------ \--* CNS_INT ref null | |
------------ BB74 [46D..474), preds={} succs={BB75} | |
***** BB74 | |
STMT00169 (IL 0x46D...0x46F) | |
[000633] --C-G------- * CALLV stub void System.IDisposable.Dispose | |
[000632] ------------ this in rcx \--* LCL_VAR ref V09 loc7 | |
------------ BB75 [474..475) (finret), preds={} succs={BB85} | |
***** BB75 | |
STMT00168 (IL 0x474...0x474) | |
[000631] ------------ * RETFILT void | |
------------ BB76 [475..480) -> BB86 (always), preds={} succs={BB86} | |
***** BB76 | |
STMT00163 (IL 0x475...0x47C) | |
[000615] I-C-G------- * CALL struct Python.Runtime.PyObjectExtensions.NewReferenceOrNull (exactContextHnd=0x00007FF9026AD409) | |
[000614] ------------ arg0 \--* LCL_VAR ref V22 loc20 | |
***** BB76 | |
STMT00164 (IL ???... ???) | |
[000619] -AC--------- * ASG struct (copy) | |
[000617] D------N---- +--* LCL_VAR struct<Python.Runtime.NewReference, 8> V10 loc8 | |
[000616] --C--------- \--* RET_EXPR struct(inl return expr [000615]) | |
------------ BB86 [???..???) -> BB77 (callf), preds={} succs={BB77} | |
------------ BB87 [???..???) -> BB81 (ALWAYS), preds={} succs={BB81} | |
------------ BB77 [480..484) -> BB79 (cond), preds={} succs={BB78,BB79} | |
***** BB77 | |
STMT00170 (IL 0x480...0x482) | |
[000637] ------------ * JTRUE void | |
[000636] ------------ \--* EQ int | |
[000634] ------------ +--* LCL_VAR ref V22 loc20 | |
[000635] ------------ \--* CNS_INT ref null | |
------------ BB78 [484..48B), preds={} succs={BB79} | |
***** BB78 | |
STMT00172 (IL 0x484...0x486) | |
[000640] I-C-G------- * CALL nullcheck void Python.Runtime.PyObject.Dispose (exactContextHnd=0x00007FF9001C7A71) | |
[000639] ------------ this in rcx \--* LCL_VAR ref V22 loc20 | |
------------ BB79 [48B..48C) (finret), preds={} succs={BB87} | |
***** BB79 | |
STMT00171 (IL 0x48B...0x48B) | |
[000638] ------------ * RETFILT void | |
------------ BB80 [48C..494) (return), preds={} succs={} | |
***** BB80 | |
STMT00149 (IL 0x48C...0x493) | |
[000572] I-C-G------- * CALL struct Python.Runtime.CLRObject.GetReference (exactContextHnd=0x00007FF90278F5B1) | |
[000570] ------------ arg0 +--* LCL_VAR ref V00 arg0 | |
[000571] ------------ arg1 \--* LCL_VAR ref V01 arg1 | |
***** BB80 | |
STMT00150 (IL ???... ???) | |
[000574] --C--------- * RETURN struct | |
[000573] --C--------- \--* RET_EXPR struct(inl return expr [000572]) | |
------------ BB81 [494..497) (return), preds={} succs={} | |
***** BB81 | |
STMT00165 (IL 0x494...0x496) | |
[000621] ------------ * RETURN struct | |
[000620] ------------ \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V10 loc8 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Finishing PHASE Expand patchpoints [no changes] | |
*************** Starting PHASE Post-import | |
*************** Finishing PHASE Post-import | |
*************** Starting PHASE Morph - Init | |
New BlockSet epoch 2, # of blocks (including unused BB00): 99, bitset array size: 2 (long) | |
*************** In fgRemoveEmptyBlocks | |
*************** Finishing PHASE Morph - Init | |
*************** In fgDebugCheckBBlist | |
*************** Starting PHASE Morph - Inlining | |
Expanding INLINE_CANDIDATE in statement STMT00228 in BB02: | |
STMT00228 (IL 0x00A...0x016) | |
[000852] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000851] ------------ arg0 \--* LCL_VAR ref V02 loc0 | |
Argument #0: is a local var | |
[000851] ------------ * LCL_VAR ref V02 loc0 | |
INLINER: inlineInfo.tokenLookupContextHandle for Python.Runtime.BorrowedReference:op_Implicit(Python.Runtime.PyObject):Python.Runtime.BorrowedReference set to 0x00007FF9001C5811: | |
Invoking compiler for the inlinee method Python.Runtime.BorrowedReference:op_Implicit(Python.Runtime.PyObject):Python.Runtime.BorrowedReference : | |
IL to import: | |
IL_0000 02 ldarg.0 | |
IL_0001 6f 06 07 00 06 callvirt 0x6000706 | |
IL_0006 2a ret | |
INLINER impTokenLookupContextHandle for Python.Runtime.BorrowedReference:op_Implicit(Python.Runtime.PyObject):Python.Runtime.BorrowedReference is 0x00007FF9001C5811. | |
*************** In fgFindBasicBlocks() for Python.Runtime.BorrowedReference:op_Implicit(Python.Runtime.PyObject):Python.Runtime.BorrowedReference | |
Jump targets: | |
none | |
New Basic Block BB99 [0098] created. | |
BB99 [000..007) | |
Basic block list for 'Python.Runtime.BorrowedReference:op_Implicit(Python.Runtime.PyObject):Python.Runtime.BorrowedReference' | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB99 [0098] 1 1 [000..007) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000852] Starting PHASE Pre-import | |
*************** Inline @[000852] Finishing PHASE Pre-import | |
*************** Inline @[000852] Starting PHASE Profile incorporation | |
BBOPT set, but no profile data available (hr=80004001) | |
Computing inlinee profile scale: | |
... no callee profile data, will use non-pgo weight to scale | |
call site count 12 callee entry count 100 scale 0.12 | |
Scaling inlinee blocks | |
*************** Inline @[000852] Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB99 [0098] 1 1 [000..007) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB99 [000..007) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000852] Starting PHASE Importation | |
*************** In impImport() for Python.Runtime.BorrowedReference:op_Implicit(Python.Runtime.PyObject):Python.Runtime.BorrowedReference | |
impImportBlockPending for BB99 | |
Importing BB99 (PC=000) of 'Python.Runtime.BorrowedReference:op_Implicit(Python.Runtime.PyObject):Python.Runtime.BorrowedReference' | |
[ 0] 0 (0x000) ldarg.0 | |
[ 1] 1 (0x001) callvirt 06000706 | |
In Compiler::impImportCall: opcode is callvirt, kind=0, callRetType is struct, structSize is 8 | |
[000888] I-C-G------- * CALL nullcheck struct Python.Runtime.PyObject.get_Reference (exactContextHnd=0x00007FF9001C7A71) | |
[000851] ------------ this in rcx \--* LCL_VAR ref V02 loc0 | |
[ 1] 6 (0x006) ret | |
Inlinee Return expression (before normalization) => | |
[000889] --C--------- * RET_EXPR struct(inl return expr [000888]) | |
impFixupStructReturnType: retyping | |
[000889] --C--------- * RET_EXPR struct(inl return expr [000888]) | |
Inlinee Return expression (after normalization) => | |
[000889] --C--------- * RET_EXPR struct(inl return expr [000888]) | |
After impImport() added block for try,catch,finally | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB99 [0098] 1 1 [000..007) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000852] Finishing PHASE Importation | |
Trees after Importation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB99 [0098] 1 1 [000..007) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB99 [000..007) (return), preds={} succs={} | |
***** BB99 | |
[000888] I-C-G------- * CALL nullcheck struct Python.Runtime.PyObject.get_Reference (exactContextHnd=0x00007FF9001C7A71) | |
[000851] ------------ this in rcx \--* LCL_VAR ref V02 loc0 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000852] Starting PHASE Indirect call transform | |
-- no candidates to transform | |
*************** Inline @[000852] Finishing PHASE Indirect call transform [no changes] | |
*************** Inline @[000852] Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Inline @[000852] Finishing PHASE Expand patchpoints [no changes] | |
*************** Inline @[000852] Starting PHASE Post-import | |
*************** In fgRemoveEmptyBlocks | |
*************** Inline @[000852] Finishing PHASE Post-import | |
----------- Statements (and blocks) added due to the inlining of call [000852] ----------- | |
Arguments setup: | |
Inlinee method body: | |
STMT00238 (IL 0x00A... ???) | |
[000888] I-C-G------- * CALL nullcheck struct Python.Runtime.PyObject.get_Reference (exactContextHnd=0x00007FF9001C7A71) | |
[000851] ------------ this in rcx \--* LCL_VAR ref V02 loc0 | |
fgInlineAppendStatements: no gc ref inline locals. | |
Return expression for call at [000852] is | |
[000889] --C--------- * RET_EXPR struct(inl return expr [000888]) | |
Successfully inlined Python.Runtime.BorrowedReference:op_Implicit(Python.Runtime.PyObject):Python.Runtime.BorrowedReference (7 IL bytes) (depth 1) [below ALWAYS_INLINE size] | |
-------------------------------------------------------------------------------------------- | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'Python.Runtime.BorrowedReference:op_Implicit(Python.Runtime.PyObject):Python.Runtime.BorrowedReference' | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' | |
Expanding INLINE_CANDIDATE in statement STMT00238 in BB02: | |
STMT00238 (IL 0x00A... ???) | |
[000888] I-C-G------- * CALL nullcheck struct Python.Runtime.PyObject.get_Reference (exactContextHnd=0x00007FF9001C7A71) | |
[000851] ------------ this in rcx \--* LCL_VAR ref V02 loc0 | |
thisArg: is a local var | |
[000851] ------------ * LCL_VAR ref V02 loc0 | |
INLINER: inlineInfo.tokenLookupContextHandle for Python.Runtime.PyObject:get_Reference():Python.Runtime.BorrowedReference:this set to 0x00007FF9001C7A71: | |
Invoking compiler for the inlinee method Python.Runtime.PyObject:get_Reference():Python.Runtime.BorrowedReference:this : | |
IL to import: | |
IL_0000 02 ldarg.0 | |
IL_0001 7b 69 03 00 04 ldfld 0x4000369 | |
IL_0006 73 e3 00 00 06 newobj 0x60000E3 | |
IL_000b 2a ret | |
INLINER impTokenLookupContextHandle for Python.Runtime.PyObject:get_Reference():Python.Runtime.BorrowedReference:this is 0x00007FF9001C7A71. | |
*************** In fgFindBasicBlocks() for Python.Runtime.PyObject:get_Reference():Python.Runtime.BorrowedReference:this | |
Jump targets: | |
none | |
New Basic Block BB100 [0099] created. | |
BB100 [000..00C) | |
Basic block list for 'Python.Runtime.PyObject:get_Reference():Python.Runtime.BorrowedReference:this' | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB100 [0099] 1 1 [000..00C) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000888] Starting PHASE Pre-import | |
*************** Inline @[000888] Finishing PHASE Pre-import | |
*************** Inline @[000888] Starting PHASE Profile incorporation | |
BBOPT set, but no profile data available (hr=80004001) | |
Computing inlinee profile scale: | |
... no callee profile data, will use non-pgo weight to scale | |
call site count 12 callee entry count 100 scale 0.12 | |
Scaling inlinee blocks | |
*************** Inline @[000888] Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB100 [0099] 1 1 [000..00C) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB100 [000..00C) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000888] Starting PHASE Importation | |
*************** In impImport() for Python.Runtime.PyObject:get_Reference():Python.Runtime.BorrowedReference:this | |
impImportBlockPending for BB100 | |
Importing BB100 (PC=000) of 'Python.Runtime.PyObject:get_Reference():Python.Runtime.BorrowedReference:this' | |
[ 0] 0 (0x000) ldarg.0 | |
[ 1] 1 (0x001) ldfld 04000369 | |
[ 1] 6 (0x006) newobj | |
lvaGrabTemp returning 64 (V64 tmp38) called for NewObj constructor temp. | |
[000894] IA---------- * ASG struct (init) | |
[000892] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V64 tmp38 | |
[000893] ------------ \--* CNS_INT int 0 | |
060000E3 | |
In Compiler::impImportCall: opcode is newobj, kind=0, callRetType is void, structSize is 0 | |
[000897] I-CXG------- * CALL void Python.Runtime.BorrowedReference..ctor (exactContextHnd=0x00007FF9001C5811) | |
[000896] ------------ this in rcx +--* ADDR byref | |
[000895] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V64 tmp38 | |
[000891] ---XG------- arg1 \--* FIELD long rawPtr | |
[000851] ------------ \--* LCL_VAR ref V02 loc0 | |
[ 1] 11 (0x00b) ret | |
Inlinee Return expression (before normalization) => | |
[000898] ------------ * LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V64 tmp38 | |
impFixupStructReturnType: retyping | |
[000898] ------------ * LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V64 tmp38 | |
Inlinee Return expression (after normalization) => | |
[000898] ------------ * LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V64 tmp38 | |
After impImport() added block for try,catch,finally | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB100 [0099] 1 1 [000..00C) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000888] Finishing PHASE Importation | |
Trees after Importation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB100 [0099] 1 1 [000..00C) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB100 [000..00C) (return), preds={} succs={} | |
***** BB100 | |
[000894] IA---------- * ASG struct (init) | |
[000892] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V64 tmp38 | |
[000893] ------------ \--* CNS_INT int 0 | |
***** BB100 | |
[000897] I-CXG------- * CALL void Python.Runtime.BorrowedReference..ctor (exactContextHnd=0x00007FF9001C5811) | |
[000896] ------------ this in rcx +--* ADDR byref | |
[000895] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V64 tmp38 | |
[000891] ---XG------- arg1 \--* FIELD long rawPtr | |
[000851] ------------ \--* LCL_VAR ref V02 loc0 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000888] Starting PHASE Indirect call transform | |
-- no candidates to transform | |
*************** Inline @[000888] Finishing PHASE Indirect call transform [no changes] | |
*************** Inline @[000888] Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Inline @[000888] Finishing PHASE Expand patchpoints [no changes] | |
*************** Inline @[000888] Starting PHASE Post-import | |
*************** In fgRemoveEmptyBlocks | |
*************** Inline @[000888] Finishing PHASE Post-import | |
----------- Statements (and blocks) added due to the inlining of call [000888] ----------- | |
Arguments setup: | |
Inlinee method body: | |
STMT00239 (IL 0x00A... ???) | |
[000894] IA---------- * ASG struct (init) | |
[000892] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V64 tmp38 | |
[000893] ------------ \--* CNS_INT int 0 | |
STMT00240 (IL 0x00A... ???) | |
[000897] I-CXG------- * CALL void Python.Runtime.BorrowedReference..ctor (exactContextHnd=0x00007FF9001C5811) | |
[000896] ------------ this in rcx +--* ADDR byref | |
[000895] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V64 tmp38 | |
[000891] ---XG------- arg1 \--* FIELD long rawPtr | |
[000851] ------------ \--* LCL_VAR ref V02 loc0 | |
fgInlineAppendStatements: no gc ref inline locals. | |
Return expression for call at [000888] is | |
[000898] ------------ * LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V64 tmp38 | |
Successfully inlined Python.Runtime.PyObject:get_Reference():Python.Runtime.BorrowedReference:this (12 IL bytes) (depth 2) [below ALWAYS_INLINE size] | |
-------------------------------------------------------------------------------------------- | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'Python.Runtime.PyObject:get_Reference():Python.Runtime.BorrowedReference:this' | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' | |
Expanding INLINE_CANDIDATE in statement STMT00240 in BB02: | |
STMT00240 (IL 0x00A... ???) | |
[000897] I-CXG------- * CALL void Python.Runtime.BorrowedReference..ctor (exactContextHnd=0x00007FF9001C5811) | |
[000896] ------------ this in rcx +--* ADDR byref | |
[000895] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V64 tmp38 | |
[000891] ---XG------- arg1 \--* FIELD long rawPtr | |
[000851] ------------ \--* LCL_VAR ref V02 loc0 | |
thisArg: is a constant is byref to a struct local | |
[000896] ------------ * ADDR byref | |
[000895] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V64 tmp38 | |
Argument #1: has global refs has side effects | |
[000891] ---XG------- * FIELD long rawPtr | |
[000851] ------------ \--* LCL_VAR ref V02 loc0 | |
INLINER: inlineInfo.tokenLookupContextHandle for Python.Runtime.BorrowedReference:.ctor(long):this set to 0x00007FF9001C5811: | |
Invoking compiler for the inlinee method Python.Runtime.BorrowedReference:.ctor(long):this : | |
IL to import: | |
IL_0000 02 ldarg.0 | |
IL_0001 03 ldarg.1 | |
IL_0002 7d b5 00 00 04 stfld 0x40000B5 | |
IL_0007 2a ret | |
INLINER impTokenLookupContextHandle for Python.Runtime.BorrowedReference:.ctor(long):this is 0x00007FF9001C5811. | |
*************** In fgFindBasicBlocks() for Python.Runtime.BorrowedReference:.ctor(long):this | |
Jump targets: | |
none | |
New Basic Block BB101 [0100] created. | |
BB101 [000..008) | |
Basic block list for 'Python.Runtime.BorrowedReference:.ctor(long):this' | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB101 [0100] 1 1 [000..008) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000897] Starting PHASE Pre-import | |
*************** Inline @[000897] Finishing PHASE Pre-import | |
*************** Inline @[000897] Starting PHASE Profile incorporation | |
BBOPT set, but no profile data available (hr=80004001) | |
Computing inlinee profile scale: | |
... no callee profile data, will use non-pgo weight to scale | |
call site count 12 callee entry count 100 scale 0.12 | |
Scaling inlinee blocks | |
*************** Inline @[000897] Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB101 [0100] 1 1 [000..008) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB101 [000..008) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000897] Starting PHASE Importation | |
*************** In impImport() for Python.Runtime.BorrowedReference:.ctor(long):this | |
impImportBlockPending for BB101 | |
Importing BB101 (PC=000) of 'Python.Runtime.BorrowedReference:.ctor(long):this' | |
[ 0] 0 (0x000) ldarg.0 | |
[ 1] 1 (0x001) ldarg.1 | |
lvaGrabTemp returning 65 (V65 tmp39) called for Inlining Arg. | |
[ 2] 2 (0x002) stfld 040000B5 | |
[000904] -A---------- * ASG long | |
[000903] -------N---- +--* FIELD long pointer | |
[000900] ------------ | \--* ADDR byref | |
[000901] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V64 tmp38 | |
[000902] ------------ \--* LCL_VAR long V65 tmp39 | |
[ 0] 7 (0x007) ret | |
After impImport() added block for try,catch,finally | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB101 [0100] 1 1 [000..008) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000897] Finishing PHASE Importation | |
Trees after Importation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB101 [0100] 1 1 [000..008) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB101 [000..008) (return), preds={} succs={} | |
***** BB101 | |
[000904] -A---------- * ASG long | |
[000903] -------N---- +--* FIELD long pointer | |
[000900] ------------ | \--* ADDR byref | |
[000901] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V64 tmp38 | |
[000902] ------------ \--* LCL_VAR long V65 tmp39 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000897] Starting PHASE Indirect call transform | |
-- no candidates to transform | |
*************** Inline @[000897] Finishing PHASE Indirect call transform [no changes] | |
*************** Inline @[000897] Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Inline @[000897] Finishing PHASE Expand patchpoints [no changes] | |
*************** Inline @[000897] Starting PHASE Post-import | |
*************** In fgRemoveEmptyBlocks | |
*************** Inline @[000897] Finishing PHASE Post-import | |
----------- Statements (and blocks) added due to the inlining of call [000897] ----------- | |
Arguments setup: | |
STMT00242 (IL 0x00A... ???) | |
[000906] -A-XG------- * ASG long | |
[000905] D------N---- +--* LCL_VAR long V65 tmp39 | |
[000891] ---XG------- \--* FIELD long rawPtr | |
[000851] ------------ \--* LCL_VAR ref V02 loc0 | |
Inlinee method body: | |
STMT00241 (IL 0x00A... ???) | |
[000904] -A---------- * ASG long | |
[000903] -------N---- +--* FIELD long pointer | |
[000900] ------------ | \--* ADDR byref | |
[000901] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V64 tmp38 | |
[000902] ------------ \--* LCL_VAR long V65 tmp39 | |
fgInlineAppendStatements: no gc ref inline locals. | |
Successfully inlined Python.Runtime.BorrowedReference:.ctor(long):this (8 IL bytes) (depth 3) [below ALWAYS_INLINE size] | |
-------------------------------------------------------------------------------------------- | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'Python.Runtime.BorrowedReference:.ctor(long):this' | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' | |
Replacing the return expression placeholder [000853] with [000898] | |
[000853] --C--------- * RET_EXPR struct(inl return expr [000889]) | |
Inserting the inline return expression | |
[000898] ------------ * LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V64 tmp38 | |
Expanding INLINE_CANDIDATE in statement STMT00231 in BB02: | |
STMT00231 (IL ???... ???) | |
[000860] I-C-G------- * CALL void Python.Runtime.NewReference..ctor (exactContextHnd=0x00007FF9001F4CA9) | |
[000859] ------------ this in rcx +--* ADDR byref | |
[000858] -------N---- | \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V60 tmp34 | |
[000866] n----------- arg1 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000865] ------------ | \--* ADDR byref | |
[000864] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V61 tmp35 | |
[000867] ------------ arg2 \--* PUTARG_TYPE bool | |
[000854] ------------ \--* CNS_INT int 0 | |
thisArg: is a constant is byref to a struct local | |
[000859] ------------ * ADDR byref | |
[000858] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V60 tmp34 | |
Argument #1: | |
[000866] n----------- * OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000865] ------------ \--* ADDR byref | |
[000864] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V61 tmp35 | |
Argument #2: is a constant | |
[000854] ------------ * CNS_INT int 0 | |
Folding operator with constant nodes into a constant: | |
[000908] ------------ * CAST int <- bool <- int | |
[000854] ------------ \--* CNS_INT int 0 | |
Bashed to int constant: | |
[000908] ------------ * CNS_INT int 0 | |
INLINER: inlineInfo.tokenLookupContextHandle for Python.Runtime.NewReference:.ctor(Python.Runtime.BorrowedReference,bool):this set to 0x00007FF9001F4CA9: | |
Invoking compiler for the inlinee method Python.Runtime.NewReference:.ctor(Python.Runtime.BorrowedReference,bool):this : | |
IL to import: | |
IL_0000 04 ldarg.2 | |
IL_0001 2d 09 brtrue.s 9 (IL_000c) | |
IL_0003 0f 01 ldarga.s 0x1 | |
IL_0005 28 e0 00 00 06 call 0x60000E0 | |
IL_000a 2b 07 br.s 7 (IL_0013) | |
IL_000c 0f 01 ldarga.s 0x1 | |
IL_000e 28 e1 00 00 06 call 0x60000E1 | |
IL_0013 0a stloc.0 | |
IL_0014 03 ldarg.1 | |
IL_0015 28 e1 07 00 06 call 0x60007E1 | |
IL_001a 02 ldarg.0 | |
IL_001b 06 ldloc.0 | |
IL_001c 7d bb 00 00 04 stfld 0x40000BB | |
IL_0021 2a ret | |
INLINER impTokenLookupContextHandle for Python.Runtime.NewReference:.ctor(Python.Runtime.BorrowedReference,bool):this is 0x00007FF9001F4CA9. | |
*************** In fgFindBasicBlocks() for Python.Runtime.NewReference:.ctor(Python.Runtime.BorrowedReference,bool):this | |
weight= 35 : state 5 [ ldarg.2 ] | |
weight= 25 : state 45 [ brtrue.s ] | |
weight= 77 : state 16 [ ldarga.s ] | |
weight= 79 : state 40 [ call ] | |
weight= 44 : state 43 [ br.s ] | |
weight= 77 : state 16 [ ldarga.s ] | |
weight= 79 : state 40 [ call ] | |
weight= 6 : state 11 [ stloc.0 ] | |
weight= 16 : state 4 [ ldarg.1 ] | |
weight= 79 : state 40 [ call ] | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= 12 : state 7 [ ldloc.0 ] | |
weight= 31 : state 111 [ stfld ] | |
weight= 19 : state 42 [ ret ] | |
multiplier in instance constructors increased to 1.5. | |
multiplier in methods of struct increased to 4.5. | |
1 arguments are structs passed by value. Multiplier increased to 6.5. | |
Inline candidate has 1 foldable branches. Multiplier increased to 10.5. | |
Inline candidate callsite is warm. Multiplier increased to 12.5. | |
Callsite has profile data: 0.27907. Multiplier limited to 18.4012. | |
Caller has 79 locals. Multiplier decreased to 16.9815. | |
calleeNativeSizeEstimate=589 | |
callsiteNativeSizeEstimate=145 | |
benefit multiplier=16.9815 | |
threshold=2462 | |
Native estimate for function size is within threshold for inlining 58.9 <= 246.2 (multiplier = 16.9815) | |
Jump targets: | |
IL_000c | |
IL_0013 | |
New Basic Block BB102 [0101] created. | |
BB102 [000..003) | |
New Basic Block BB103 [0102] created. | |
BB103 [003..00C) | |
New Basic Block BB104 [0103] created. | |
BB104 [00C..013) | |
New Basic Block BB105 [0104] created. | |
BB105 [013..022) | |
Basic block list for 'Python.Runtime.NewReference:.ctor(Python.Runtime.BorrowedReference,bool):this' | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB102 [0101] 1 100 [000..003)-> BB104 ( cond ) | |
BB103 [0102] 1 100 [003..00C)-> BB105 (always) | |
BB104 [0103] 1 100 [00C..013) | |
BB105 [0104] 2 100 [013..022) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000860] Starting PHASE Pre-import | |
*************** Inline @[000860] Finishing PHASE Pre-import | |
*************** Inline @[000860] Starting PHASE Profile incorporation | |
Have dynamic profile data: 2 schema records (schema at 000001FA28D3C710, data at 000001FA28D3C740) | |
Profile summary: 1 runs, 0 block probes, 2 edge probes, 0 class profiles, 0 other records | |
Reconstructing block counts from sparse edge instrumentation | |
... adding known edge BB104 -> BB105: weight 0 | |
... adding known edge BB105 -> BB102: weight 1934 | |
New BlockSet epoch 3, # of blocks (including unused BB00): 106, bitset array size: 2 (long) | |
... unknown edge BB102 -> BB104 | |
... unknown edge BB102 -> BB103 | |
... unknown edge BB103 -> BB105 | |
Solver: 4 blocks, 4 unknown; 5 edges, 3 unknown, 0 zero (and so ignored) | |
Pass [1]: 4 unknown blocks, 3 unknown edges | |
BB105: 1 incoming unknown, 0 outgoing unknown | |
BB105: all outgoing edge weights known, summming... | |
BB105 -> BB102 has weight 1934 | |
BB105: all outgoing edge weights known, sum is 1934 | |
BB103 -> BB105: target block weight and all other incoming edge weights known, so weight is 1934 | |
BB104: 1 incoming unknown, 0 outgoing unknown | |
BB104: all outgoing edge weights known, summming... | |
BB104 -> BB105 has weight 0 | |
BB104: all outgoing edge weights known, sum is 0 | |
BB102 -> BB104: target block weight and all other incoming edge weights known, so weight is 0 | |
BB103: 1 incoming unknown, 0 outgoing unknown | |
BB103: all outgoing edge weights known, summming... | |
BB103 -> BB105 has weight 1934 | |
BB103: all outgoing edge weights known, sum is 1934 | |
BB102 -> BB103: target block weight and all other incoming edge weights known, so weight is 1934 | |
BB102: 0 incoming unknown, 0 outgoing unknown | |
BB102: all incoming edge weights known, summming... | |
BB105 -> BB102 has weight 1934 | |
BB102: all incoming edge weights known, sum is 1934 | |
Solver: converged in 1 passes | |
Computing inlinee profile scale: | |
call site count 12 callee entry count 1934 scale 0.006204757 | |
Scaling inlinee blocks | |
*************** Inline @[000860] Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB102 [0101] 1 12 12 [000..003)-> BB104 ( cond ) IBC | |
BB103 [0102] 1 12 12 [003..00C)-> BB105 (always) IBC | |
BB104 [0103] 1 0 0 [00C..013) rare IBC | |
BB105 [0104] 2 12 12 [013..022) (return) IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB102 [000..003) -> BB104 (cond), preds={} succs={BB103,BB104} | |
------------ BB103 [003..00C) -> BB105 (always), preds={} succs={BB105} | |
------------ BB104 [00C..013), preds={} succs={BB105} | |
------------ BB105 [013..022) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000860] Starting PHASE Importation | |
*************** In impImport() for Python.Runtime.NewReference:.ctor(Python.Runtime.BorrowedReference,bool):this | |
impImportBlockPending for BB102 | |
Importing BB102 (PC=000) of 'Python.Runtime.NewReference:.ctor(Python.Runtime.BorrowedReference,bool):this' | |
[ 0] 0 (0x000) ldarg.2 | |
[ 1] 1 (0x001) brtrue.s | |
Folding operator with constant nodes into a constant: | |
[000911] ------------ * NE int | |
[000909] ------------ +--* CNS_INT int 0 | |
[000910] ------------ \--* CNS_INT int 0 | |
Bashed to int constant: | |
[000911] ------------ * CNS_INT int 0 | |
The block falls through into the next BB103 | |
impImportBlockPending for BB103 | |
Importing BB103 (PC=003) of 'Python.Runtime.NewReference:.ctor(Python.Runtime.BorrowedReference,bool):this' | |
[ 0] 3 (0x003) ldarga.s 1 | |
lvaGrabTemp returning 66 (V66 tmp40) called for Inlining Arg. | |
[ 1] 5 (0x005) call 060000E0 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is long, structSize is 0 | |
[000914] I-C-G------- * CALL long Python.Runtime.BorrowedReference.DangerousGetAddress (exactContextHnd=0x00007FF9001C5811) | |
[000913] ------------ this in rcx \--* ADDR byref | |
[000912] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
[ 1] 10 (0x00a) br.s | |
*************** In impGetSpillTmpBase(BB103) | |
lvaGrabTemps(1) returning 67..67 (long lifetime temps) called for IL Stack Entries | |
*************** In fgComputeCheapPreds() | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB102 [0101] 1 12 12 [000..003) i IBC | |
BB103 [0102] 1 12 12 [003..00C)-> BB105 (always) IBC | |
BB104 [0103] 1 0 0 [00C..013) rare IBC | |
BB105 [0104] 2 12 12 [013..022) (return) IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** After fgComputeCheapPreds() | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd cheap preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB102 [0101] 1 12 12 [000..003) i IBC | |
BB103 [0102] 1 BB102 12 12 [003..00C)-> BB105 (always) IBC | |
BB104 [0103] 1 0 0 [00C..013) rare IBC | |
BB105 [0104] 2 BB104,BB103 12 12 [013..022) (return) IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
Spilling stack entries into temps | |
[000917] -AC--------- * ASG long | |
[000916] D------N---- +--* LCL_VAR long V67 tmp41 | |
[000915] --C--------- \--* RET_EXPR long (inl return expr [000914]) | |
impImportBlockPending for BB105 | |
Importing BB105 (PC=019) of 'Python.Runtime.NewReference:.ctor(Python.Runtime.BorrowedReference,bool):this' | |
[ 1] 19 (0x013) stloc.0 | |
lvaGrabTemp returning 68 (V68 tmp42) (a long lifetime temp) called for Inline stloc first use temp. | |
[000921] -A---------- * ASG long | |
[000920] D------N---- +--* LCL_VAR long V68 tmp42 | |
[000919] ------------ \--* LCL_VAR long V67 tmp41 | |
[ 0] 20 (0x014) ldarg.1 | |
[ 1] 21 (0x015) call 060007E1 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0 | |
Calling impNormStructVal on: | |
[000922] ------------ * LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
resulting tree: | |
[000925] n----------- * OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000924] ------------ \--* ADDR byref | |
[000922] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
[000923] I-C-G------- * CALL void Python.Runtime.Runtime.XIncref (exactContextHnd=0x00007FF9001CEA41) | |
[000925] n----------- arg0 \--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000924] ------------ \--* ADDR byref | |
[000922] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
[ 0] 26 (0x01a) ldarg.0 | |
[ 1] 27 (0x01b) ldloc.0 | |
[ 2] 28 (0x01c) stfld 040000BB | |
[000930] -A---------- * ASG long | |
[000929] -------N---- +--* FIELD long pointer | |
[000926] ------------ | \--* ADDR byref | |
[000927] -------N---- | \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V60 tmp34 | |
[000928] ------------ \--* LCL_VAR long V68 tmp42 | |
[ 0] 33 (0x021) ret | |
After impImport() added block for try,catch,finally | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd cheap preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB102 [0101] 1 12 12 [000..003) i IBC | |
BB103 [0102] 1 BB102 12 12 [003..00C)-> BB105 (always) i IBC | |
BB104 [0103] 1 0 0 [00C..013) rare IBC | |
BB105 [0104] 2 BB104,BB103 12 12 [013..022) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
** Note: inlinee IL was partially imported -- imported 24 of 34 bytes of method IL | |
*************** Inline @[000860] Finishing PHASE Importation | |
Trees after Importation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB102 [0101] 1 12 12 [000..003) i IBC | |
BB103 [0102] 1 12 12 [003..00C)-> BB105 (always) i IBC | |
BB104 [0103] 1 0 0 [00C..013) rare IBC | |
BB105 [0104] 2 12 12 [013..022) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB102 [000..003), preds={} succs={BB103} | |
------------ BB103 [003..00C) -> BB105 (always), preds={} succs={BB105} | |
***** BB103 | |
[000914] I-C-G------- * CALL long Python.Runtime.BorrowedReference.DangerousGetAddress (exactContextHnd=0x00007FF9001C5811) | |
[000913] ------------ this in rcx \--* ADDR byref | |
[000912] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
***** BB103 | |
[000917] -AC--------- * ASG long | |
[000916] D------N---- +--* LCL_VAR long V67 tmp41 | |
[000915] --C--------- \--* RET_EXPR long (inl return expr [000914]) | |
------------ BB104 [00C..013), preds={} succs={BB105} | |
------------ BB105 [013..022) (return), preds={} succs={} | |
***** BB105 | |
[000921] -A---------- * ASG long | |
[000920] D------N---- +--* LCL_VAR long V68 tmp42 | |
[000919] ------------ \--* LCL_VAR long V67 tmp41 | |
***** BB105 | |
[000923] I-C-G------- * CALL void Python.Runtime.Runtime.XIncref (exactContextHnd=0x00007FF9001CEA41) | |
[000925] n----------- arg0 \--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000924] ------------ \--* ADDR byref | |
[000922] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
***** BB105 | |
[000930] -A---------- * ASG long | |
[000929] -------N---- +--* FIELD long pointer | |
[000926] ------------ | \--* ADDR byref | |
[000927] -------N---- | \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V60 tmp34 | |
[000928] ------------ \--* LCL_VAR long V68 tmp42 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000860] Starting PHASE Indirect call transform | |
-- no candidates to transform | |
*************** Inline @[000860] Finishing PHASE Indirect call transform [no changes] | |
*************** Inline @[000860] Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Inline @[000860] Finishing PHASE Expand patchpoints [no changes] | |
*************** Inline @[000860] Starting PHASE Post-import | |
*************** In fgRemoveEmptyBlocks | |
BB104 was not imported, marking as removed (0) | |
Renumbering the basic blocks for fgRemoveEmptyBlocks | |
*************** Before renumbering the basic blocks | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB102 [0101] 1 12 12 [000..003) i IBC | |
BB103 [0102] 1 12 12 [003..00C)-> BB105 (always) i IBC | |
BB105 [0104] 2 12 12 [013..022) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table | |
index eTry, eHnd | |
0 :: 1 - Try at BB12..BB12 [070..07A), Finally at BB13..BB15 [07A..086) | |
1 :: 2 - Try at BB10..BB17 [05C..091), Finally at BB18..BB20 [091..0A6) | |
2 :: - Try at BB09..BB21 [04F..0B3), Finally at BB22..BB24 [0B3..0BD) | |
3 :: - Try at BB32..BB32 [150..195), Finally at BB33..BB33 [195..19D) | |
4 :: 5 - Try at BB67..BB67 [43E..449), Finally at BB68..BB70 [449..455) | |
5 :: 6 - Try at BB65..BB72 [42A..460), Finally at BB73..BB75 [460..475) | |
6 :: - Try at BB64..BB76 [41D..480), Finally at BB77..BB79 [480..48C) | |
Renumber BB102 to BB106 | |
Renumber BB103 to BB107 | |
Renumber BB105 to BB108 | |
*************** After renumbering the basic blocks | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB106 [0101] 1 12 12 [000..003) i IBC | |
BB107 [0102] 1 12 12 [003..00C)-> BB108 (always) i IBC | |
BB108 [0104] 2 12 12 [013..022) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table | |
index eTry, eHnd | |
0 :: 1 - Try at BB12..BB12 [070..07A), Finally at BB13..BB15 [07A..086) | |
1 :: 2 - Try at BB10..BB17 [05C..091), Finally at BB18..BB20 [091..0A6) | |
2 :: - Try at BB09..BB21 [04F..0B3), Finally at BB22..BB24 [0B3..0BD) | |
3 :: - Try at BB32..BB32 [150..195), Finally at BB33..BB33 [195..19D) | |
4 :: 5 - Try at BB67..BB67 [43E..449), Finally at BB68..BB70 [449..455) | |
5 :: 6 - Try at BB65..BB72 [42A..460), Finally at BB73..BB75 [460..475) | |
6 :: - Try at BB64..BB76 [41D..480), Finally at BB77..BB79 [480..48C) | |
New BlockSet epoch 1, # of blocks (including unused BB00): 5, bitset array size: 1 (short) | |
*************** Inline @[000860] Finishing PHASE Post-import | |
----------- Statements (and blocks) added due to the inlining of call [000860] ----------- | |
Arguments setup: | |
STMT00248 (IL ???... ???) | |
[000933] -A---------- * ASG struct (copy) | |
[000931] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
[000866] n----------- \--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000865] ------------ \--* ADDR byref | |
[000864] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V61 tmp35 | |
Inlinee method body:New Basic Block BB109 [0105] created. | |
Convert bbJumpKind of BB108 to BBJ_NONE | |
fgInlineAppendStatements: no gc ref inline locals. | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB106 [0101] 1 12 12 [000..000) i internal IBC | |
BB107 [0102] 1 12 12 [000..000)-> BB108 (always) i internal IBC | |
BB108 [0104] 2 12 12 [000..000) i internal IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB106 [000..000), preds={} succs={BB107} | |
------------ BB107 [000..000) -> BB108 (always), preds={} succs={BB108} | |
***** BB107 | |
STMT00243 (IL ???... ???) | |
[000914] I-C-G------- * CALL long Python.Runtime.BorrowedReference.DangerousGetAddress (exactContextHnd=0x00007FF9001C5811) | |
[000913] ------------ this in rcx \--* ADDR byref | |
[000912] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
***** BB107 | |
STMT00244 (IL ???... ???) | |
[000917] -AC--------- * ASG long | |
[000916] D------N---- +--* LCL_VAR long V67 tmp41 | |
[000915] --C--------- \--* RET_EXPR long (inl return expr [000914]) | |
------------ BB108 [000..000), preds={} succs={BB109} | |
***** BB108 | |
STMT00245 (IL ???... ???) | |
[000921] -A---------- * ASG long | |
[000920] D------N---- +--* LCL_VAR long V68 tmp42 | |
[000919] ------------ \--* LCL_VAR long V67 tmp41 | |
***** BB108 | |
STMT00246 (IL ???... ???) | |
[000923] I-C-G------- * CALL void Python.Runtime.Runtime.XIncref (exactContextHnd=0x00007FF9001CEA41) | |
[000925] n----------- arg0 \--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000924] ------------ \--* ADDR byref | |
[000922] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
***** BB108 | |
STMT00247 (IL ???... ???) | |
[000930] -A---------- * ASG long | |
[000929] -------N---- +--* FIELD long pointer | |
[000926] ------------ | \--* ADDR byref | |
[000927] -------N---- | \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V60 tmp34 | |
[000928] ------------ \--* LCL_VAR long V68 tmp42 | |
------------------------------------------------------------------------------------------------------------------- | |
Successfully inlined Python.Runtime.NewReference:.ctor(Python.Runtime.BorrowedReference,bool):this (34 IL bytes) (depth 1) [profitable inline] | |
-------------------------------------------------------------------------------------------- | |
INLINER: during 'fgInline' result 'success' reason 'profitable inline' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'Python.Runtime.NewReference:.ctor(Python.Runtime.BorrowedReference,bool):this' | |
INLINER: during 'fgInline' result 'success' reason 'profitable inline' | |
Expanding INLINE_CANDIDATE in statement STMT00243 in BB107: | |
STMT00243 (IL ???... ???) | |
[000914] I-C-G------- * CALL long Python.Runtime.BorrowedReference.DangerousGetAddress (exactContextHnd=0x00007FF9001C5811) | |
[000913] ------------ this in rcx \--* ADDR byref | |
[000912] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
thisArg: is a constant is byref to a struct local | |
[000913] ------------ * ADDR byref | |
[000912] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
INLINER: inlineInfo.tokenLookupContextHandle for Python.Runtime.BorrowedReference:DangerousGetAddress():long:this set to 0x00007FF9001C5811: | |
Invoking compiler for the inlinee method Python.Runtime.BorrowedReference:DangerousGetAddress():long:this : | |
IL to import: | |
IL_0000 02 ldarg.0 | |
IL_0001 28 df 00 00 06 call 0x60000DF | |
IL_0006 2d 07 brtrue.s 7 (IL_000f) | |
IL_0008 02 ldarg.0 | |
IL_0009 7b b5 00 00 04 ldfld 0x40000B5 | |
IL_000e 2a ret | |
IL_000f 73 f4 01 00 0a newobj 0xA0001F4 | |
IL_0014 7a throw | |
INLINER impTokenLookupContextHandle for Python.Runtime.BorrowedReference:DangerousGetAddress():long:this is 0x00007FF9001C5811. | |
*************** In fgFindBasicBlocks() for Python.Runtime.BorrowedReference:DangerousGetAddress():long:this | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= 79 : state 40 [ call ] | |
weight= 25 : state 45 [ brtrue.s ] | |
weight= 31 : state 191 [ ldarg.0 -> ldfld ] | |
weight= 19 : state 42 [ ret ] | |
weight=227 : state 103 [ newobj ] | |
weight=210 : state 108 [ throw ] | |
multiplier in methods of struct increased to 3. | |
1 ldfld or stfld over arguments which are structs. Multiplier increased to 4. | |
Inline candidate has 1 foldable branches. Multiplier increased to 8. | |
Inline candidate callsite is warm. Multiplier increased to 10. | |
Callsite has profile data: 0.27907. Multiplier limited to 14.7209. | |
Caller has 79 locals. Multiplier decreased to 13.5852. | |
calleeNativeSizeEstimate=601 | |
callsiteNativeSizeEstimate=85 | |
benefit multiplier=13.5852 | |
threshold=1154 | |
Native estimate for function size is within threshold for inlining 60.1 <= 115.4 (multiplier = 13.5852) | |
Jump targets: | |
IL_000f | |
New Basic Block BB110 [0106] created. | |
BB110 [000..008) | |
New Basic Block BB111 [0107] created. | |
BB111 [008..00F) | |
New Basic Block BB112 [0108] created. | |
BB112 [00F..015) | |
Basic block list for 'Python.Runtime.BorrowedReference:DangerousGetAddress():long:this' | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB110 [0106] 1 100 [000..008)-> BB112 ( cond ) | |
BB111 [0107] 1 100 [008..00F) (return) | |
BB112 [0108] 1 0 [00F..015) (throw ) rare | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000914] Starting PHASE Pre-import | |
*************** Inline @[000914] Finishing PHASE Pre-import | |
*************** Inline @[000914] Starting PHASE Profile incorporation | |
Have dynamic profile data: 2 schema records (schema at 000001FA28D3C6C0, data at 000001FA28D3C6F0) | |
Profile summary: 1 runs, 0 block probes, 2 edge probes, 0 class profiles, 0 other records | |
Reconstructing block counts from sparse edge instrumentation | |
... adding known edge BB111 -> BB110: weight 213 | |
... adding known edge BB112 -> BB110: weight 0 | |
New BlockSet epoch 4, # of blocks (including unused BB00): 113, bitset array size: 2 (long) | |
... unknown edge BB110 -> BB112 | |
... unknown edge BB110 -> BB111 | |
Solver: 3 blocks, 3 unknown; 4 edges, 2 unknown, 0 zero (and so ignored) | |
Pass [1]: 3 unknown blocks, 2 unknown edges | |
BB112: 1 incoming unknown, 0 outgoing unknown | |
BB112: all outgoing edge weights known, summming... | |
BB112 -> BB110 has weight 0 | |
BB112: all outgoing edge weights known, sum is 0 | |
BB110 -> BB112: target block weight and all other incoming edge weights known, so weight is 0 | |
BB111: 1 incoming unknown, 0 outgoing unknown | |
BB111: all outgoing edge weights known, summming... | |
BB111 -> BB110 has weight 213 | |
BB111: all outgoing edge weights known, sum is 213 | |
BB110 -> BB111: target block weight and all other incoming edge weights known, so weight is 213 | |
BB110: 0 incoming unknown, 0 outgoing unknown | |
BB110: all incoming edge weights known, summming... | |
BB112 -> BB110 has weight 0 | |
BB111 -> BB110 has weight 213 | |
BB110: all incoming edge weights known, sum is 213 | |
Solver: converged in 1 passes | |
Computing inlinee profile scale: | |
call site count 12 callee entry count 213 scale 0.05633803 | |
Scaling inlinee blocks | |
*************** Inline @[000914] Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB110 [0106] 1 12 12 [000..008)-> BB112 ( cond ) IBC | |
BB111 [0107] 1 12 12 [008..00F) (return) IBC | |
BB112 [0108] 1 0 0 [00F..015) (throw ) rare IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB110 [000..008) -> BB112 (cond), preds={} succs={BB111,BB112} | |
------------ BB111 [008..00F) (return), preds={} succs={} | |
------------ BB112 [00F..015) (throw), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000914] Starting PHASE Importation | |
*************** In impImport() for Python.Runtime.BorrowedReference:DangerousGetAddress():long:this | |
impImportBlockPending for BB110 | |
Importing BB110 (PC=000) of 'Python.Runtime.BorrowedReference:DangerousGetAddress():long:this' | |
[ 0] 0 (0x000) ldarg.0 | |
[ 1] 1 (0x001) call 060000DF | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is bool, structSize is 0 | |
[000937] I-C-G------- * CALL int Python.Runtime.BorrowedReference.get_IsNull (exactContextHnd=0x00007FF9001C5811) | |
[000935] ------------ this in rcx \--* ADDR byref | |
[000936] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
[ 1] 6 (0x006) brtrue.s | |
[000941] --C--------- * JTRUE void | |
[000940] --C--------- \--* NE int | |
[000938] --C--------- +--* RET_EXPR int (inl return expr [000937]) | |
[000939] ------------ \--* CNS_INT int 0 | |
impImportBlockPending for BB111 | |
impImportBlockPending for BB112 | |
Importing BB112 (PC=015) of 'Python.Runtime.BorrowedReference:DangerousGetAddress():long:this' | |
[ 0] 15 (0x00f) newobj | |
lvaGrabTemp returning 69 (V69 tmp43) called for NewObj constructor temp. | |
[000945] -A---------- * ASG ref | |
[000944] D------N---- +--* LCL_VAR ref V69 tmp43 | |
[000943] ------------ \--* ALLOCOBJ ref | |
[000942] H----------- \--* CNS_INT(h) long 0x7ff90025c4e8 token | |
Marked V69 as a single def local | |
lvaSetClass: setting class for V69 to (00007FF90025C4E8) System.NullReferenceException [exact] | |
0A0001F4 | |
In Compiler::impImportCall: opcode is newobj, kind=0, callRetType is void, structSize is 0 | |
[000947] I-C-G------- * CALL void System.NullReferenceException..ctor (exactContextHnd=0x00007FF90025C4E9) | |
[000946] ------------ this in rcx \--* LCL_VAR ref V69 tmp43 | |
[ 1] 20 (0x014) throw | |
[000949] --CXG------- * CALL help void HELPER.CORINFO_HELP_THROW | |
[000948] ------------ arg0 \--* LCL_VAR ref V69 tmp43 | |
Importing BB111 (PC=008) of 'Python.Runtime.BorrowedReference:DangerousGetAddress():long:this' | |
[ 0] 8 (0x008) ldarg.0 | |
[ 1] 9 (0x009) ldfld 040000B5 | |
[ 1] 14 (0x00e) ret | |
Inlinee Return expression (before normalization) => | |
[000952] ------------ * FIELD long pointer | |
[000950] ------------ \--* ADDR byref | |
[000951] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
Inlinee Return expression (after normalization) => | |
[000952] ------------ * FIELD long pointer | |
[000950] ------------ \--* ADDR byref | |
[000951] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
After impImport() added block for try,catch,finally | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB110 [0106] 1 12 12 [000..008)-> BB112 ( cond ) i IBC | |
BB111 [0107] 1 12 12 [008..00F) (return) i IBC | |
BB112 [0108] 1 0 0 [00F..015) (throw ) i rare newobj IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
** Note: inlinee IL was partially imported -- imported 14 of 21 bytes of method IL | |
*************** Inline @[000914] Finishing PHASE Importation | |
Trees after Importation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB110 [0106] 1 12 12 [000..008)-> BB112 ( cond ) i IBC | |
BB111 [0107] 1 12 12 [008..00F) (return) i IBC | |
BB112 [0108] 1 0 0 [00F..015) (throw ) i rare newobj IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB110 [000..008) -> BB112 (cond), preds={} succs={BB111,BB112} | |
***** BB110 | |
[000937] I-C-G------- * CALL int Python.Runtime.BorrowedReference.get_IsNull (exactContextHnd=0x00007FF9001C5811) | |
[000935] ------------ this in rcx \--* ADDR byref | |
[000936] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
***** BB110 | |
[000941] --C--------- * JTRUE void | |
[000940] --C--------- \--* NE int | |
[000938] --C--------- +--* RET_EXPR int (inl return expr [000937]) | |
[000939] ------------ \--* CNS_INT int 0 | |
------------ BB111 [008..00F) (return), preds={} succs={} | |
------------ BB112 [00F..015) (throw), preds={} succs={} | |
***** BB112 | |
[000945] -A---------- * ASG ref | |
[000944] D------N---- +--* LCL_VAR ref V69 tmp43 | |
[000943] ------------ \--* ALLOCOBJ ref | |
[000942] H----------- \--* CNS_INT(h) long 0x7ff90025c4e8 token | |
***** BB112 | |
[000947] I-C-G------- * CALL void System.NullReferenceException..ctor (exactContextHnd=0x00007FF90025C4E9) | |
[000946] ------------ this in rcx \--* LCL_VAR ref V69 tmp43 | |
***** BB112 | |
[000949] --CXG------- * CALL help void HELPER.CORINFO_HELP_THROW | |
[000948] ------------ arg0 \--* LCL_VAR ref V69 tmp43 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000914] Starting PHASE Indirect call transform | |
-- no candidates to transform | |
*************** Inline @[000914] Finishing PHASE Indirect call transform [no changes] | |
*************** Inline @[000914] Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Inline @[000914] Finishing PHASE Expand patchpoints [no changes] | |
*************** Inline @[000914] Starting PHASE Post-import | |
*************** In fgRemoveEmptyBlocks | |
*************** Inline @[000914] Finishing PHASE Post-import | |
----------- Statements (and blocks) added due to the inlining of call [000914] ----------- | |
Arguments setup: | |
Inlinee method body:New Basic Block BB113 [0109] created. | |
Convert bbJumpKind of BB111 to BBJ_ALWAYS to bottomBlock BB113 | |
fgInlineAppendStatements: no gc ref inline locals. | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB110 [0106] 1 12 12 [000..000)-> BB112 ( cond ) i internal IBC | |
BB111 [0107] 1 12 12 [000..000)-> BB113 (always) i internal IBC | |
BB112 [0108] 1 0 0 [000..000) (throw ) i internal rare newobj IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB110 [000..000) -> BB112 (cond), preds={} succs={BB111,BB112} | |
***** BB110 | |
STMT00249 (IL ???... ???) | |
[000937] I-C-G------- * CALL int Python.Runtime.BorrowedReference.get_IsNull (exactContextHnd=0x00007FF9001C5811) | |
[000935] ------------ this in rcx \--* ADDR byref | |
[000936] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
***** BB110 | |
STMT00250 (IL ???... ???) | |
[000941] --C--------- * JTRUE void | |
[000940] --C--------- \--* NE int | |
[000938] --C--------- +--* RET_EXPR int (inl return expr [000937]) | |
[000939] ------------ \--* CNS_INT int 0 | |
------------ BB111 [000..000) -> BB113 (always), preds={} succs={BB113} | |
------------ BB112 [000..000) (throw), preds={} succs={} | |
***** BB112 | |
STMT00251 (IL ???... ???) | |
[000945] -A---------- * ASG ref | |
[000944] D------N---- +--* LCL_VAR ref V69 tmp43 | |
[000943] ------------ \--* ALLOCOBJ ref | |
[000942] H----------- \--* CNS_INT(h) long 0x7ff90025c4e8 token | |
***** BB112 | |
STMT00252 (IL ???... ???) | |
[000947] I-C-G------- * CALL void System.NullReferenceException..ctor (exactContextHnd=0x00007FF90025C4E9) | |
[000946] ------------ this in rcx \--* LCL_VAR ref V69 tmp43 | |
***** BB112 | |
STMT00253 (IL ???... ???) | |
[000949] --CXG------- * CALL help void HELPER.CORINFO_HELP_THROW | |
[000948] ------------ arg0 \--* LCL_VAR ref V69 tmp43 | |
------------------------------------------------------------------------------------------------------------------- | |
Return expression for call at [000914] is | |
[000952] ------------ * FIELD long pointer | |
[000950] ------------ \--* ADDR byref | |
[000951] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
Successfully inlined Python.Runtime.BorrowedReference:DangerousGetAddress():long:this (21 IL bytes) (depth 2) [profitable inline] | |
-------------------------------------------------------------------------------------------- | |
BB107 becomes empty | |
INLINER: during 'fgInline' result 'success' reason 'profitable inline' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'Python.Runtime.BorrowedReference:DangerousGetAddress():long:this' | |
INLINER: during 'fgInline' result 'success' reason 'profitable inline' | |
Expanding INLINE_CANDIDATE in statement STMT00249 in BB110: | |
STMT00249 (IL ???... ???) | |
[000937] I-C-G------- * CALL int Python.Runtime.BorrowedReference.get_IsNull (exactContextHnd=0x00007FF9001C5811) | |
[000935] ------------ this in rcx \--* ADDR byref | |
[000936] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
thisArg: is a constant is byref to a struct local | |
[000935] ------------ * ADDR byref | |
[000936] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
INLINER: inlineInfo.tokenLookupContextHandle for Python.Runtime.BorrowedReference:get_IsNull():bool:this set to 0x00007FF9001C5811: | |
Invoking compiler for the inlinee method Python.Runtime.BorrowedReference:get_IsNull():bool:this : | |
IL to import: | |
IL_0000 02 ldarg.0 | |
IL_0001 7b b5 00 00 04 ldfld 0x40000B5 | |
IL_0006 7e 6e 01 00 0a ldsfld 0xA00016E | |
IL_000b 28 6f 01 00 0a call 0xA00016F | |
IL_0010 2a ret | |
INLINER impTokenLookupContextHandle for Python.Runtime.BorrowedReference:get_IsNull():bool:this is 0x00007FF9001C5811. | |
*************** In fgFindBasicBlocks() for Python.Runtime.BorrowedReference:get_IsNull():bool:this | |
weight= 31 : state 191 [ ldarg.0 -> ldfld ] | |
weight=159 : state 112 [ ldsfld ] | |
weight= 79 : state 40 [ call ] | |
weight= 19 : state 42 [ ret ] | |
multiplier in methods of struct increased to 3. | |
1 ldfld or stfld over arguments which are structs. Multiplier increased to 4. | |
Inline candidate looks like a wrapper method. Multiplier increased to 5. | |
Inline candidate is mostly loads and stores. Multiplier increased to 8. | |
Inline candidate callsite is warm. Multiplier increased to 10. | |
Callsite has profile data: 0.27907. Multiplier limited to 14.7209. | |
Caller has 79 locals. Multiplier decreased to 13.5852. | |
calleeNativeSizeEstimate=288 | |
callsiteNativeSizeEstimate=85 | |
benefit multiplier=13.5852 | |
threshold=1154 | |
Native estimate for function size is within threshold for inlining 28.8 <= 115.4 (multiplier = 13.5852) | |
Jump targets: | |
none | |
New Basic Block BB114 [0110] created. | |
BB114 [000..011) | |
Basic block list for 'Python.Runtime.BorrowedReference:get_IsNull():bool:this' | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB114 [0110] 1 1 [000..011) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000937] Starting PHASE Pre-import | |
*************** Inline @[000937] Finishing PHASE Pre-import | |
*************** Inline @[000937] Starting PHASE Profile incorporation | |
BBOPT set, but no profile data available (hr=80004001) | |
Computing inlinee profile scale: | |
... no callee profile data, will use non-pgo weight to scale | |
call site count 12 callee entry count 100 scale 0.12 | |
Scaling inlinee blocks | |
*************** Inline @[000937] Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB114 [0110] 1 1 [000..011) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB114 [000..011) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000937] Starting PHASE Importation | |
*************** In impImport() for Python.Runtime.BorrowedReference:get_IsNull():bool:this | |
impImportBlockPending for BB114 | |
Importing BB114 (PC=000) of 'Python.Runtime.BorrowedReference:get_IsNull():bool:this' | |
[ 0] 0 (0x000) ldarg.0 | |
[ 1] 1 (0x001) ldfld 040000B5 | |
[ 1] 6 (0x006) ldsfld 0A00016E | |
[ 2] 11 (0x00b) call 0A00016F | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is bool, structSize is 0 | |
[000958] I-C-G------- * CALL int System.IntPtr.op_Equality (exactContextHnd=0x00007FF8FCF59641) | |
[000956] ------------ arg0 +--* FIELD long pointer | |
[000954] ------------ | \--* ADDR byref | |
[000955] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
[000957] ------------ arg1 \--* CNS_INT long 0 | |
[ 1] 16 (0x010) ret | |
Inlinee Return expression (before normalization) => | |
[000959] --C--------- * RET_EXPR int (inl return expr [000958]) | |
Inlinee Return expression (after normalization) => | |
[000960] --C--------- * CAST int <- bool <- int | |
[000959] --C--------- \--* RET_EXPR int (inl return expr [000958]) | |
After impImport() added block for try,catch,finally | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB114 [0110] 1 1 [000..011) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000937] Finishing PHASE Importation | |
Trees after Importation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB114 [0110] 1 1 [000..011) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB114 [000..011) (return), preds={} succs={} | |
***** BB114 | |
[000958] I-C-G------- * CALL int System.IntPtr.op_Equality (exactContextHnd=0x00007FF8FCF59641) | |
[000956] ------------ arg0 +--* FIELD long pointer | |
[000954] ------------ | \--* ADDR byref | |
[000955] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
[000957] ------------ arg1 \--* CNS_INT long 0 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000937] Starting PHASE Indirect call transform | |
-- no candidates to transform | |
*************** Inline @[000937] Finishing PHASE Indirect call transform [no changes] | |
*************** Inline @[000937] Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Inline @[000937] Finishing PHASE Expand patchpoints [no changes] | |
*************** Inline @[000937] Starting PHASE Post-import | |
*************** In fgRemoveEmptyBlocks | |
*************** Inline @[000937] Finishing PHASE Post-import | |
----------- Statements (and blocks) added due to the inlining of call [000937] ----------- | |
Arguments setup: | |
Inlinee method body: | |
STMT00254 (IL ???... ???) | |
[000958] I-C-G------- * CALL int System.IntPtr.op_Equality (exactContextHnd=0x00007FF8FCF59641) | |
[000956] ------------ arg0 +--* FIELD long pointer | |
[000954] ------------ | \--* ADDR byref | |
[000955] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
[000957] ------------ arg1 \--* CNS_INT long 0 | |
fgInlineAppendStatements: no gc ref inline locals. | |
Return expression for call at [000937] is | |
[000960] --C--------- * CAST int <- bool <- int | |
[000959] --C--------- \--* RET_EXPR int (inl return expr [000958]) | |
Successfully inlined Python.Runtime.BorrowedReference:get_IsNull():bool:this (17 IL bytes) (depth 3) [profitable inline] | |
-------------------------------------------------------------------------------------------- | |
INLINER: during 'fgInline' result 'success' reason 'profitable inline' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'Python.Runtime.BorrowedReference:get_IsNull():bool:this' | |
INLINER: during 'fgInline' result 'success' reason 'profitable inline' | |
Expanding INLINE_CANDIDATE in statement STMT00254 in BB110: | |
STMT00254 (IL ???... ???) | |
[000958] I-C-G------- * CALL int System.IntPtr.op_Equality (exactContextHnd=0x00007FF8FCF59641) | |
[000956] ------------ arg0 +--* FIELD long pointer | |
[000954] ------------ | \--* ADDR byref | |
[000955] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
[000957] ------------ arg1 \--* CNS_INT long 0 | |
Argument #0: has caller local ref | |
[000956] ------------ * FIELD long pointer | |
[000954] ------------ \--* ADDR byref | |
[000955] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
Argument #1: is a constant | |
[000957] ------------ * CNS_INT long 0 | |
INLINER: inlineInfo.tokenLookupContextHandle for System.IntPtr:op_Equality(long,long):bool set to 0x00007FF8FCF59641: | |
Invoking compiler for the inlinee method System.IntPtr:op_Equality(long,long):bool : | |
IL to import: | |
IL_0000 0f 00 ldarga.s 0x0 | |
IL_0002 7b de 04 00 04 ldfld 0x40004DE | |
IL_0007 0f 01 ldarga.s 0x1 | |
IL_0009 7b de 04 00 04 ldfld 0x40004DE | |
IL_000e fe 01 ceq | |
IL_0010 2a ret | |
INLINER impTokenLookupContextHandle for System.IntPtr:op_Equality(long,long):bool is 0x00007FF8FCF59641. | |
*************** In fgFindBasicBlocks() for System.IntPtr:op_Equality(long,long):bool | |
weight= 19 : state 197 [ ldarga.s.normed -> ldfld ] | |
weight= 19 : state 197 [ ldarga.s.normed -> ldfld ] | |
weight= 20 : state 168 [ ceq ] | |
weight= 19 : state 42 [ ret ] | |
multiplier in methods of struct increased to 3. | |
2 ldfld or stfld over arguments which are structs. Multiplier increased to 4. | |
Inline candidate is mostly loads and stores. Multiplier increased to 7. | |
Callsite passes a consant. Multiplier increased to 10. | |
Inline candidate has 1 binary expressions with constants. Multiplier increased to 10.5. | |
Inline candidate callsite is warm. Multiplier increased to 12.5. | |
Callsite has profile data: 0.27907. Multiplier limited to 18.4012. | |
Caller has 79 locals. Multiplier decreased to 16.9815. | |
calleeNativeSizeEstimate=77 | |
callsiteNativeSizeEstimate=115 | |
benefit multiplier=16.9815 | |
threshold=1952 | |
Native estimate for function size is within threshold for inlining 7.7 <= 195.2 (multiplier = 16.9815) | |
Jump targets: | |
none | |
New Basic Block BB115 [0111] created. | |
BB115 [000..011) | |
Basic block list for 'System.IntPtr:op_Equality(long,long):bool' | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB115 [0111] 1 1 [000..011) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000958] Starting PHASE Pre-import | |
*************** Inline @[000958] Finishing PHASE Pre-import | |
*************** Inline @[000958] Starting PHASE Profile incorporation | |
BBOPT set, but no profile data available (hr=80004001) | |
Computing inlinee profile scale: | |
... no callee profile data, will use non-pgo weight to scale | |
call site count 12 callee entry count 100 scale 0.12 | |
Scaling inlinee blocks | |
*************** Inline @[000958] Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB115 [0111] 1 1 [000..011) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB115 [000..011) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000958] Starting PHASE Importation | |
*************** In impImport() for System.IntPtr:op_Equality(long,long):bool | |
impImportBlockPending for BB115 | |
Importing BB115 (PC=000) of 'System.IntPtr:op_Equality(long,long):bool' | |
[ 0] 0 (0x000) ldarga.s 0 | |
lvaGrabTemp returning 70 (V70 tmp44) called for Inlining Arg. | |
[ 1] 2 (0x002) ldfld 040004DE | |
[ 1] 7 (0x007) ldarga.s 1 | |
lvaGrabTemp returning 71 (V71 tmp45) called for Inlining Arg. | |
[ 2] 9 (0x009) ldfld 040004DE | |
[ 2] 14 (0x00e) ceq | |
[ 1] 16 (0x010) ret | |
Inlinee Return expression (before normalization) => | |
[000968] ----G------- * EQ int | |
[000964] ----G------- +--* FIELD long _value | |
[000963] ------------ | \--* ADDR byref | |
[000962] -------N---- | \--* LCL_VAR long V70 tmp44 | |
[000967] ----G------- \--* FIELD long _value | |
[000966] ------------ \--* ADDR byref | |
[000965] -------N---- \--* LCL_VAR long V71 tmp45 | |
Inlinee Return expression (after normalization) => | |
[000968] ----G------- * EQ int | |
[000964] ----G------- +--* FIELD long _value | |
[000963] ------------ | \--* ADDR byref | |
[000962] -------N---- | \--* LCL_VAR long V70 tmp44 | |
[000967] ----G------- \--* FIELD long _value | |
[000966] ------------ \--* ADDR byref | |
[000965] -------N---- \--* LCL_VAR long V71 tmp45 | |
After impImport() added block for try,catch,finally | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB115 [0111] 1 1 [000..011) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
** Note: inlinee IL was partially imported -- imported 0 of 17 bytes of method IL | |
*************** Inline @[000958] Finishing PHASE Importation | |
Trees after Importation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB115 [0111] 1 1 [000..011) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB115 [000..011) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000958] Starting PHASE Indirect call transform | |
-- no candidates to transform | |
*************** Inline @[000958] Finishing PHASE Indirect call transform [no changes] | |
*************** Inline @[000958] Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Inline @[000958] Finishing PHASE Expand patchpoints [no changes] | |
*************** Inline @[000958] Starting PHASE Post-import | |
*************** In fgRemoveEmptyBlocks | |
*************** Inline @[000958] Finishing PHASE Post-import | |
----------- Statements (and blocks) added due to the inlining of call [000958] ----------- | |
Arguments setup: | |
STMT00255 (IL ???... ???) | |
[000970] -A---------- * ASG long | |
[000969] D------N---- +--* LCL_VAR long V70 tmp44 | |
[000956] ------------ \--* FIELD long pointer | |
[000954] ------------ \--* ADDR byref | |
[000955] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
STMT00256 (IL ???... ???) | |
[000972] -A---------- * ASG long | |
[000971] D------N---- +--* LCL_VAR long V71 tmp45 | |
[000957] ------------ \--* CNS_INT long 0 | |
Inlinee method body:fgInlineAppendStatements: no gc ref inline locals. | |
Return expression for call at [000958] is | |
[000968] ----G------- * EQ int | |
[000964] ----G------- +--* FIELD long _value | |
[000963] ------------ | \--* ADDR byref | |
[000962] -------N---- | \--* LCL_VAR long V70 tmp44 | |
[000967] ----G------- \--* FIELD long _value | |
[000966] ------------ \--* ADDR byref | |
[000965] -------N---- \--* LCL_VAR long V71 tmp45 | |
Successfully inlined System.IntPtr:op_Equality(long,long):bool (17 IL bytes) (depth 4) [profitable inline] | |
-------------------------------------------------------------------------------------------- | |
INLINER: during 'fgInline' result 'success' reason 'profitable inline' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'System.IntPtr:op_Equality(long,long):bool' | |
INLINER: during 'fgInline' result 'success' reason 'profitable inline' | |
Replacing the return expression placeholder [000938] with [000960] | |
[000938] --C--------- * RET_EXPR int (inl return expr [000960]) | |
Inserting the inline return expression | |
[000960] --C--------- * CAST int <- bool <- int | |
[000959] --C--------- \--* RET_EXPR int (inl return expr [000968]) | |
Replacing the return expression placeholder [000959] with [000968] | |
[000959] --C--------- * RET_EXPR int (inl return expr [000968]) | |
Inserting the inline return expression | |
[000968] ----G------- * EQ int | |
[000964] ----G------- +--* FIELD long _value | |
[000963] ------------ | \--* ADDR byref | |
[000962] -------N---- | \--* LCL_VAR long V70 tmp44 | |
[000967] ----G------- \--* FIELD long _value | |
[000966] ------------ \--* ADDR byref | |
[000965] -------N---- \--* LCL_VAR long V71 tmp45 | |
Expanding INLINE_CANDIDATE in statement STMT00252 in BB112: | |
STMT00252 (IL ???... ???) | |
[000947] I-C-G------- * CALL void System.NullReferenceException..ctor (exactContextHnd=0x00007FF90025C4E9) | |
[000946] ------------ this in rcx \--* LCL_VAR ref V69 tmp43 | |
thisArg: is a local var | |
[000946] ------------ * LCL_VAR ref V69 tmp43 | |
INLINER: inlineInfo.tokenLookupContextHandle for System.NullReferenceException:.ctor():this set to 0x00007FF90025C4E9: | |
Invoking compiler for the inlinee method System.NullReferenceException:.ctor():this : | |
IL to import: | |
IL_0000 02 ldarg.0 | |
IL_0001 28 da 18 00 06 call 0x60018DA | |
IL_0006 28 b8 1c 00 06 call 0x6001CB8 | |
IL_000b 02 ldarg.0 | |
IL_000c 20 03 40 00 80 ldc.i4 0x80004003 | |
IL_0011 28 3f 04 00 06 call 0x600043F | |
IL_0016 2a ret | |
INLINER impTokenLookupContextHandle for System.NullReferenceException:.ctor():this is 0x00007FF90025C4E9. | |
*************** In fgFindBasicBlocks() for System.NullReferenceException:.ctor():this | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= 79 : state 40 [ call ] | |
weight= 79 : state 40 [ call ] | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= 38 : state 33 [ ldc.i4 ] | |
weight= 79 : state 40 [ call ] | |
weight= 19 : state 42 [ ret ] | |
multiplier in instance constructors increased to 1.5. | |
Inline candidate looks like a wrapper method. Multiplier increased to 2.5. | |
Inline candidate callsite is rare. Multiplier limited to 1.3. | |
Callsite has profile data: 0. Multiplier limited to 0.39. | |
Caller has 79 locals. Multiplier decreased to 0.359912. | |
Callsite is in a no-return region. Multiplier limited to 1. | |
calleeNativeSizeEstimate=314 | |
callsiteNativeSizeEstimate=85 | |
benefit multiplier=1 | |
threshold=85 | |
Native estimate for function size exceeds threshold for inlining 31.4 > 8.5 (multiplier = 1) | |
Inline expansion aborted, inline not profitable | |
INLINER: during 'fgInline' result 'failed this call site' reason 'unprofitable inline' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'System.NullReferenceException:.ctor():this' | |
INLINER: during 'fgInline' result 'failed this call site' reason 'unprofitable inline' | |
Replacing the return expression placeholder [000915] with [000952] | |
[000915] --C--------- * RET_EXPR long (inl return expr [000952]) | |
Inserting the inline return expression | |
[000952] ------------ * FIELD long pointer | |
[000950] ------------ \--* ADDR byref | |
[000951] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
Expanding INLINE_CANDIDATE in statement STMT00246 in BB108: | |
STMT00246 (IL ???... ???) | |
[000923] I-C-G------- * CALL void Python.Runtime.Runtime.XIncref (exactContextHnd=0x00007FF9001CEA41) | |
[000925] n----------- arg0 \--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000924] ------------ \--* ADDR byref | |
[000922] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
Argument #0: has caller local ref | |
[000925] n----------- * OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000924] ------------ \--* ADDR byref | |
[000922] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
INLINER: inlineInfo.tokenLookupContextHandle for Python.Runtime.Runtime:XIncref(Python.Runtime.BorrowedReference) set to 0x00007FF9001CEA41: | |
Invoking compiler for the inlinee method Python.Runtime.Runtime:XIncref(Python.Runtime.BorrowedReference) : | |
IL to import: | |
IL_0000 02 ldarg.0 | |
IL_0001 28 e6 07 00 06 call 0x60007E6 | |
IL_0006 2a ret | |
INLINER impTokenLookupContextHandle for Python.Runtime.Runtime:XIncref(Python.Runtime.BorrowedReference) is 0x00007FF9001CEA41. | |
*************** In fgFindBasicBlocks() for Python.Runtime.Runtime:XIncref(Python.Runtime.BorrowedReference) | |
Jump targets: | |
none | |
New Basic Block BB116 [0112] created. | |
BB116 [000..007) | |
Basic block list for 'Python.Runtime.Runtime:XIncref(Python.Runtime.BorrowedReference)' | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB116 [0112] 1 1 [000..007) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000923] Starting PHASE Pre-import | |
*************** Inline @[000923] Finishing PHASE Pre-import | |
*************** Inline @[000923] Starting PHASE Profile incorporation | |
BBOPT set, but no profile data available (hr=80004001) | |
Computing inlinee profile scale: | |
... no callee profile data, will use non-pgo weight to scale | |
call site count 12 callee entry count 100 scale 0.12 | |
Scaling inlinee blocks | |
*************** Inline @[000923] Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB116 [0112] 1 1 [000..007) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB116 [000..007) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000923] Starting PHASE Importation | |
*************** In impImport() for Python.Runtime.Runtime:XIncref(Python.Runtime.BorrowedReference) | |
impImportBlockPending for BB116 | |
Importing BB116 (PC=000) of 'Python.Runtime.Runtime:XIncref(Python.Runtime.BorrowedReference)' | |
[ 0] 0 (0x000) ldarg.0 | |
lvaGrabTemp returning 72 (V72 tmp46) called for Inlining Arg. | |
[ 1] 1 (0x001) call 060007E6 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0 | |
Calling impNormStructVal on: | |
[000974] ------------ * LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V72 tmp46 | |
resulting tree: | |
[000977] n----------- * OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000976] ------------ \--* ADDR byref | |
[000974] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V72 tmp46 | |
[000975] I-C-G------- * CALL void Python.Runtime.Runtime.Py_IncRef (exactContextHnd=0x00007FF9001CEA41) | |
[000977] n----------- arg0 \--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000976] ------------ \--* ADDR byref | |
[000974] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V72 tmp46 | |
[ 0] 6 (0x006) ret | |
After impImport() added block for try,catch,finally | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB116 [0112] 1 1 [000..007) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000923] Finishing PHASE Importation | |
Trees after Importation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB116 [0112] 1 1 [000..007) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB116 [000..007) (return), preds={} succs={} | |
***** BB116 | |
[000975] I-C-G------- * CALL void Python.Runtime.Runtime.Py_IncRef (exactContextHnd=0x00007FF9001CEA41) | |
[000977] n----------- arg0 \--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000976] ------------ \--* ADDR byref | |
[000974] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V72 tmp46 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000923] Starting PHASE Indirect call transform | |
-- no candidates to transform | |
*************** Inline @[000923] Finishing PHASE Indirect call transform [no changes] | |
*************** Inline @[000923] Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Inline @[000923] Finishing PHASE Expand patchpoints [no changes] | |
*************** Inline @[000923] Starting PHASE Post-import | |
*************** In fgRemoveEmptyBlocks | |
*************** Inline @[000923] Finishing PHASE Post-import | |
----------- Statements (and blocks) added due to the inlining of call [000923] ----------- | |
Arguments setup: | |
STMT00258 (IL ???... ???) | |
[000980] -A---------- * ASG struct (copy) | |
[000978] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V72 tmp46 | |
[000925] n----------- \--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000924] ------------ \--* ADDR byref | |
[000922] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V66 tmp40 | |
Inlinee method body: | |
STMT00257 (IL ???... ???) | |
[000975] I-C-G------- * CALL void Python.Runtime.Runtime.Py_IncRef (exactContextHnd=0x00007FF9001CEA41) | |
[000977] n----------- arg0 \--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000976] ------------ \--* ADDR byref | |
[000974] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V72 tmp46 | |
fgInlineAppendStatements: no gc ref inline locals. | |
Successfully inlined Python.Runtime.Runtime:XIncref(Python.Runtime.BorrowedReference) (7 IL bytes) (depth 2) [below ALWAYS_INLINE size] | |
-------------------------------------------------------------------------------------------- | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'Python.Runtime.Runtime:XIncref(Python.Runtime.BorrowedReference)' | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' | |
Expanding INLINE_CANDIDATE in statement STMT00257 in BB108: | |
STMT00257 (IL ???... ???) | |
[000975] I-C-G------- * CALL void Python.Runtime.Runtime.Py_IncRef (exactContextHnd=0x00007FF9001CEA41) | |
[000977] n----------- arg0 \--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000976] ------------ \--* ADDR byref | |
[000974] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V72 tmp46 | |
Argument #0: | |
[000977] n----------- * OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000976] ------------ \--* ADDR byref | |
[000974] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V72 tmp46 | |
INLINER: inlineInfo.tokenLookupContextHandle for Python.Runtime.Runtime:Py_IncRef(Python.Runtime.BorrowedReference) set to 0x00007FF9001CEA41: | |
Invoking compiler for the inlinee method Python.Runtime.Runtime:Py_IncRef(Python.Runtime.BorrowedReference) : | |
IL to import: | |
IL_0000 28 b8 0c 00 06 call 0x6000CB8 | |
IL_0005 0a stloc.0 | |
IL_0006 02 ldarg.0 | |
IL_0007 06 ldloc.0 | |
IL_0008 29 d6 00 00 11 calli 0x110000D6 | |
IL_000d 2a ret | |
INLINER impTokenLookupContextHandle for Python.Runtime.Runtime:Py_IncRef(Python.Runtime.BorrowedReference) is 0x00007FF9001CEA41. | |
*************** In fgFindBasicBlocks() for Python.Runtime.Runtime:Py_IncRef(Python.Runtime.BorrowedReference) | |
Jump targets: | |
none | |
New Basic Block BB117 [0113] created. | |
BB117 [000..00E) | |
Basic block list for 'Python.Runtime.Runtime:Py_IncRef(Python.Runtime.BorrowedReference)' | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB117 [0113] 1 1 [000..00E) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000975] Starting PHASE Pre-import | |
*************** Inline @[000975] Finishing PHASE Pre-import | |
*************** Inline @[000975] Starting PHASE Profile incorporation | |
BBOPT set, but no profile data available (hr=80004001) | |
Computing inlinee profile scale: | |
... no callee profile data, will use non-pgo weight to scale | |
call site count 12 callee entry count 100 scale 0.12 | |
Scaling inlinee blocks | |
*************** Inline @[000975] Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB117 [0113] 1 1 [000..00E) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB117 [000..00E) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000975] Starting PHASE Importation | |
*************** In impImport() for Python.Runtime.Runtime:Py_IncRef(Python.Runtime.BorrowedReference) | |
impImportBlockPending for BB117 | |
Importing BB117 (PC=000) of 'Python.Runtime.Runtime:Py_IncRef(Python.Runtime.BorrowedReference)' | |
[ 0] 0 (0x000) call 06000CB8 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is long, structSize is 0 | |
[000982] I-C-G------- * CALL long Delegates.get_Py_IncRef (exactContextHnd=0x00007FF9002264F1) | |
[ 1] 5 (0x005) stloc.0 | |
lvaGrabTemp returning 73 (V73 tmp47) (a long lifetime temp) called for Inline stloc first use temp. | |
[000985] -AC--------- * ASG long | |
[000984] D------N---- +--* LCL_VAR long V73 tmp47 | |
[000983] --C--------- \--* RET_EXPR long (inl return expr [000982]) | |
[ 0] 6 (0x006) ldarg.0 | |
lvaGrabTemp returning 74 (V74 tmp48) called for Inlining Arg. | |
[ 1] 7 (0x007) ldloc.0 | |
[ 2] 8 (0x008) calli 110000D6 | |
In Compiler::impImportCall: opcode is calli, kind=0, callRetType is void, structSize is 0 | |
Inline a CALLI PINVOKE call from method Python.Runtime.Runtime:Py_IncRef(Python.Runtime.BorrowedReference)Calling impNormStructVal on: | |
[000986] ------------ * LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V74 tmp48 | |
resulting tree: | |
[000990] n----------- * OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000989] ------------ \--* ADDR byref | |
[000986] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V74 tmp48 | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct managed' for 'Python.Runtime.Runtime:Py_IncRef(Python.Runtime.BorrowedReference)' calling 'n/a' | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct managed' | |
[000988] --CXG------- * CALL ind unman popargs void | |
[000990] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000989] ------------ | \--* ADDR byref | |
[000986] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V74 tmp48 | |
[000987] ------------ calli tgt \--* LCL_VAR long V73 tmp47 | |
[ 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] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB117 [0113] 1 1 [000..00E) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000975] Finishing PHASE Importation | |
Trees after Importation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB117 [0113] 1 1 [000..00E) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB117 [000..00E) (return), preds={} succs={} | |
***** BB117 | |
[000982] I-C-G------- * CALL long Delegates.get_Py_IncRef (exactContextHnd=0x00007FF9002264F1) | |
***** BB117 | |
[000985] -AC--------- * ASG long | |
[000984] D------N---- +--* LCL_VAR long V73 tmp47 | |
[000983] --C--------- \--* RET_EXPR long (inl return expr [000982]) | |
***** BB117 | |
[000988] --CXG------- * CALL ind unman popargs void | |
[000990] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000989] ------------ | \--* ADDR byref | |
[000986] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V74 tmp48 | |
[000987] ------------ calli tgt \--* LCL_VAR long V73 tmp47 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000975] Starting PHASE Indirect call transform | |
-- no candidates to transform | |
*************** Inline @[000975] Finishing PHASE Indirect call transform [no changes] | |
*************** Inline @[000975] Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Inline @[000975] Finishing PHASE Expand patchpoints [no changes] | |
*************** Inline @[000975] Starting PHASE Post-import | |
*************** In fgRemoveEmptyBlocks | |
*************** Inline @[000975] Finishing PHASE Post-import | |
----------- Statements (and blocks) added due to the inlining of call [000975] ----------- | |
Arguments setup: | |
STMT00262 (IL ???... ???) | |
[000993] -A---------- * ASG struct (copy) | |
[000991] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V74 tmp48 | |
[000977] n----------- \--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000976] ------------ \--* ADDR byref | |
[000974] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V72 tmp46 | |
Inlinee method body: | |
STMT00259 (IL ???... ???) | |
[000982] I-C-G------- * CALL long Delegates.get_Py_IncRef (exactContextHnd=0x00007FF9002264F1) | |
STMT00260 (IL ???... ???) | |
[000985] -AC--------- * ASG long | |
[000984] D------N---- +--* LCL_VAR long V73 tmp47 | |
[000983] --C--------- \--* RET_EXPR long (inl return expr [000982]) | |
STMT00261 (IL ???... ???) | |
[000988] --CXG------- * CALL ind unman popargs void | |
[000990] n----------- arg0 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000989] ------------ | \--* ADDR byref | |
[000986] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V74 tmp48 | |
[000987] ------------ calli tgt \--* LCL_VAR long V73 tmp47 | |
fgInlineAppendStatements: no gc ref inline locals. | |
Successfully inlined Python.Runtime.Runtime:Py_IncRef(Python.Runtime.BorrowedReference) (14 IL bytes) (depth 3) [below ALWAYS_INLINE size] | |
-------------------------------------------------------------------------------------------- | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'Python.Runtime.Runtime:Py_IncRef(Python.Runtime.BorrowedReference)' | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' | |
Expanding INLINE_CANDIDATE in statement STMT00259 in BB108: | |
STMT00259 (IL ???... ???) | |
[000982] I-C-G------- * CALL long Delegates.get_Py_IncRef (exactContextHnd=0x00007FF9002264F1) | |
INLINER: inlineInfo.tokenLookupContextHandle for Delegates:get_Py_IncRef():long set to 0x00007FF9002264F1: | |
Invoking compiler for the inlinee method Delegates:get_Py_IncRef():long : | |
IL to import: | |
IL_0000 7e 2b 05 00 04 ldsfld 0x400052B | |
IL_0005 2a ret | |
INLINER impTokenLookupContextHandle for Delegates:get_Py_IncRef():long is 0x00007FF9002264F1. | |
*************** In fgFindBasicBlocks() for Delegates:get_Py_IncRef():long | |
Jump targets: | |
none | |
New Basic Block BB118 [0114] created. | |
BB118 [000..006) | |
Basic block list for 'Delegates:get_Py_IncRef():long' | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB118 [0114] 1 1 [000..006) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000982] Starting PHASE Pre-import | |
*************** Inline @[000982] Finishing PHASE Pre-import | |
*************** Inline @[000982] Starting PHASE Profile incorporation | |
BBOPT set, but no profile data available (hr=80004001) | |
Computing inlinee profile scale: | |
... no callee profile data, will use non-pgo weight to scale | |
call site count 12 callee entry count 100 scale 0.12 | |
Scaling inlinee blocks | |
*************** Inline @[000982] Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB118 [0114] 1 1 [000..006) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB118 [000..006) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000982] Starting PHASE Importation | |
*************** In impImport() for Delegates:get_Py_IncRef():long | |
impImportBlockPending for BB118 | |
Importing BB118 (PC=000) of 'Delegates:get_Py_IncRef():long' | |
[ 0] 0 (0x000) ldsfld 0400052B | |
[ 1] 5 (0x005) ret | |
Inlinee Return expression (before normalization) => | |
[000995] ------------ * CNS_INT long 0x7ff990128b9c | |
Inlinee Return expression (after normalization) => | |
[000995] ------------ * CNS_INT long 0x7ff990128b9c | |
After impImport() added block for try,catch,finally | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB118 [0114] 1 1 [000..006) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
** Note: inlinee IL was partially imported -- imported 0 of 6 bytes of method IL | |
*************** Inline @[000982] Finishing PHASE Importation | |
Trees after Importation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB118 [0114] 1 1 [000..006) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB118 [000..006) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000982] Starting PHASE Indirect call transform | |
-- no candidates to transform | |
*************** Inline @[000982] Finishing PHASE Indirect call transform [no changes] | |
*************** Inline @[000982] Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Inline @[000982] Finishing PHASE Expand patchpoints [no changes] | |
*************** Inline @[000982] Starting PHASE Post-import | |
*************** In fgRemoveEmptyBlocks | |
*************** Inline @[000982] Finishing PHASE Post-import | |
----------- Statements (and blocks) added due to the inlining of call [000982] ----------- | |
Inlinee method body:fgInlineAppendStatements: no gc ref inline locals. | |
Return expression for call at [000982] is | |
[000995] ------------ * CNS_INT long 0x7ff990128b9c | |
Successfully inlined Delegates:get_Py_IncRef():long (6 IL bytes) (depth 4) [below ALWAYS_INLINE size] | |
-------------------------------------------------------------------------------------------- | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'Delegates:get_Py_IncRef():long' | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' | |
Replacing the return expression placeholder [000983] with [000995] | |
[000983] --C--------- * RET_EXPR long (inl return expr [000995]) | |
Inserting the inline return expression | |
[000995] ------------ * CNS_INT long 0x7ff990128b9c | |
Expanding INLINE_CANDIDATE in statement STMT00223 in BB04: | |
STMT00223 (IL 0x01A...0x025) | |
[000833] I-C-G------- * CALL struct Python.Runtime.Runtime.get_PyNone (exactContextHnd=0x00007FF9001CEA41) | |
INLINER: inlineInfo.tokenLookupContextHandle for Python.Runtime.Runtime:get_PyNone():Python.Runtime.BorrowedReference set to 0x00007FF9001CEA41: | |
Invoking compiler for the inlinee method Python.Runtime.Runtime:get_PyNone():Python.Runtime.BorrowedReference : | |
IL to import: | |
IL_0000 7e e8 03 00 04 ldsfld 0x40003E8 | |
IL_0005 28 eb 00 00 06 call 0x60000EB | |
IL_000a 2a ret | |
INLINER impTokenLookupContextHandle for Python.Runtime.Runtime:get_PyNone():Python.Runtime.BorrowedReference is 0x00007FF9001CEA41. | |
*************** In fgFindBasicBlocks() for Python.Runtime.Runtime:get_PyNone():Python.Runtime.BorrowedReference | |
Jump targets: | |
none | |
New Basic Block BB119 [0115] created. | |
BB119 [000..00B) | |
Basic block list for 'Python.Runtime.Runtime:get_PyNone():Python.Runtime.BorrowedReference' | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB119 [0115] 1 1 [000..00B) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000833] Starting PHASE Pre-import | |
*************** Inline @[000833] Finishing PHASE Pre-import | |
*************** Inline @[000833] Starting PHASE Profile incorporation | |
BBOPT set, but no profile data available (hr=80004001) | |
Computing inlinee profile scale: | |
... no callee profile data, will use non-pgo weight to scale | |
... zero call site count; scale will be 0.0 | |
call site count 0 callee entry count 100 scale 0 | |
Scaling inlinee blocks | |
*************** Inline @[000833] Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB119 [0115] 1 0 [000..00B) (return) rare | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB119 [000..00B) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000833] Starting PHASE Importation | |
*************** In impImport() for Python.Runtime.Runtime:get_PyNone():Python.Runtime.BorrowedReference | |
impImportBlockPending for BB119 | |
Importing BB119 (PC=000) of 'Python.Runtime.Runtime:get_PyNone():Python.Runtime.BorrowedReference' | |
[ 0] 0 (0x000) ldsfld 040003E8 | |
[ 1] 5 (0x005) call 060000EB | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 8 | |
[000998] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000997] ----G------- arg0 \--* FIELD ref _PyNone | |
[ 1] 10 (0x00a) ret | |
Inlinee Return expression (before normalization) => | |
[000999] --C--------- * RET_EXPR struct(inl return expr [000998]) | |
impFixupStructReturnType: retyping | |
[000999] --C--------- * RET_EXPR struct(inl return expr [000998]) | |
Inlinee Return expression (after normalization) => | |
[000999] --C--------- * RET_EXPR struct(inl return expr [000998]) | |
After impImport() added block for try,catch,finally | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB119 [0115] 1 0 [000..00B) (return) i rare | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000833] Finishing PHASE Importation | |
Trees after Importation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB119 [0115] 1 0 [000..00B) (return) i rare | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB119 [000..00B) (return), preds={} succs={} | |
***** BB119 | |
[000998] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000997] ----G------- arg0 \--* FIELD ref _PyNone | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000833] Starting PHASE Indirect call transform | |
-- no candidates to transform | |
*************** Inline @[000833] Finishing PHASE Indirect call transform [no changes] | |
*************** Inline @[000833] Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Inline @[000833] Finishing PHASE Expand patchpoints [no changes] | |
*************** Inline @[000833] Starting PHASE Post-import | |
*************** In fgRemoveEmptyBlocks | |
*************** Inline @[000833] Finishing PHASE Post-import | |
----------- Statements (and blocks) added due to the inlining of call [000833] ----------- | |
Inlinee method body: | |
STMT00263 (IL 0x01A... ???) | |
[000998] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000997] ----G------- arg0 \--* FIELD ref _PyNone | |
fgInlineAppendStatements: no gc ref inline locals. | |
Return expression for call at [000833] is | |
[000999] --C--------- * RET_EXPR struct(inl return expr [000998]) | |
Successfully inlined Python.Runtime.Runtime:get_PyNone():Python.Runtime.BorrowedReference (11 IL bytes) (depth 1) [below ALWAYS_INLINE size] | |
-------------------------------------------------------------------------------------------- | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'Python.Runtime.Runtime:get_PyNone():Python.Runtime.BorrowedReference' | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' | |
Expanding INLINE_CANDIDATE in statement STMT00263 in BB04: | |
STMT00263 (IL 0x01A... ???) | |
[000998] I-C-G------- * CALL struct Python.Runtime.BorrowedReference.op_Implicit (exactContextHnd=0x00007FF9001C5811) | |
[000997] ----G------- arg0 \--* FIELD ref _PyNone | |
Querying runtime about current class of field Python.Runtime.Runtime._PyNone (declared as Python.Runtime.PyObject) | |
Field's current class not available | |
Argument #0: has global refs | |
[000997] ----G------- * FIELD ref _PyNone | |
INLINER: inlineInfo.tokenLookupContextHandle for Python.Runtime.BorrowedReference:op_Implicit(Python.Runtime.PyObject):Python.Runtime.BorrowedReference set to 0x00007FF9001C5811: | |
Invoking compiler for the inlinee method Python.Runtime.BorrowedReference:op_Implicit(Python.Runtime.PyObject):Python.Runtime.BorrowedReference : | |
IL to import: | |
IL_0000 02 ldarg.0 | |
IL_0001 6f 06 07 00 06 callvirt 0x6000706 | |
IL_0006 2a ret | |
INLINER impTokenLookupContextHandle for Python.Runtime.BorrowedReference:op_Implicit(Python.Runtime.PyObject):Python.Runtime.BorrowedReference is 0x00007FF9001C5811. | |
*************** In fgFindBasicBlocks() for Python.Runtime.BorrowedReference:op_Implicit(Python.Runtime.PyObject):Python.Runtime.BorrowedReference | |
Jump targets: | |
none | |
New Basic Block BB120 [0116] created. | |
BB120 [000..007) | |
Basic block list for 'Python.Runtime.BorrowedReference:op_Implicit(Python.Runtime.PyObject):Python.Runtime.BorrowedReference' | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB120 [0116] 1 1 [000..007) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000998] Starting PHASE Pre-import | |
*************** Inline @[000998] Finishing PHASE Pre-import | |
*************** Inline @[000998] Starting PHASE Profile incorporation | |
BBOPT set, but no profile data available (hr=80004001) | |
Computing inlinee profile scale: | |
... no callee profile data, will use non-pgo weight to scale | |
... zero call site count; scale will be 0.0 | |
call site count 0 callee entry count 100 scale 0 | |
Scaling inlinee blocks | |
*************** Inline @[000998] Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB120 [0116] 1 0 [000..007) (return) rare | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB120 [000..007) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000998] Starting PHASE Importation | |
*************** In impImport() for Python.Runtime.BorrowedReference:op_Implicit(Python.Runtime.PyObject):Python.Runtime.BorrowedReference | |
impImportBlockPending for BB120 | |
Importing BB120 (PC=000) of 'Python.Runtime.BorrowedReference:op_Implicit(Python.Runtime.PyObject):Python.Runtime.BorrowedReference' | |
[ 0] 0 (0x000) ldarg.0 | |
lvaGrabTemp returning 75 (V75 tmp49) called for Inlining Arg. | |
Marked V75 as a single def temp | |
Querying runtime about current class of field Python.Runtime.Runtime._PyNone (declared as Python.Runtime.PyObject) | |
Field's current class not available | |
lvaSetClass: setting class for V75 to (00007FF9001C7A70) Python.Runtime.PyObject | |
[ 1] 1 (0x001) callvirt 06000706 | |
In Compiler::impImportCall: opcode is callvirt, kind=0, callRetType is struct, structSize is 8 | |
[001002] I-C-G------- * CALL nullcheck struct Python.Runtime.PyObject.get_Reference (exactContextHnd=0x00007FF9001C7A71) | |
[001001] ------------ this in rcx \--* LCL_VAR ref V75 tmp49 | |
[ 1] 6 (0x006) ret | |
Inlinee Return expression (before normalization) => | |
[001003] --C--------- * RET_EXPR struct(inl return expr [001002]) | |
impFixupStructReturnType: retyping | |
[001003] --C--------- * RET_EXPR struct(inl return expr [001002]) | |
Inlinee Return expression (after normalization) => | |
[001003] --C--------- * RET_EXPR struct(inl return expr [001002]) | |
After impImport() added block for try,catch,finally | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB120 [0116] 1 0 [000..007) (return) i rare | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000998] Finishing PHASE Importation | |
Trees after Importation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB120 [0116] 1 0 [000..007) (return) i rare | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB120 [000..007) (return), preds={} succs={} | |
***** BB120 | |
[001002] I-C-G------- * CALL nullcheck struct Python.Runtime.PyObject.get_Reference (exactContextHnd=0x00007FF9001C7A71) | |
[001001] ------------ this in rcx \--* LCL_VAR ref V75 tmp49 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000998] Starting PHASE Indirect call transform | |
-- no candidates to transform | |
*************** Inline @[000998] Finishing PHASE Indirect call transform [no changes] | |
*************** Inline @[000998] Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Inline @[000998] Finishing PHASE Expand patchpoints [no changes] | |
*************** Inline @[000998] Starting PHASE Post-import | |
*************** In fgRemoveEmptyBlocks | |
*************** Inline @[000998] Finishing PHASE Post-import | |
----------- Statements (and blocks) added due to the inlining of call [000998] ----------- | |
Arguments setup: | |
STMT00265 (IL 0x01A... ???) | |
[001005] -A--G------- * ASG ref | |
[001004] D------N---- +--* LCL_VAR ref V75 tmp49 | |
[000997] ----G------- \--* FIELD ref _PyNone | |
Inlinee method body: | |
STMT00264 (IL 0x01A... ???) | |
[001002] I-C-G------- * CALL nullcheck struct Python.Runtime.PyObject.get_Reference (exactContextHnd=0x00007FF9001C7A71) | |
[001001] ------------ this in rcx \--* LCL_VAR ref V75 tmp49 | |
fgInlineAppendStatements: no gc ref inline locals. | |
Return expression for call at [000998] is | |
[001003] --C--------- * RET_EXPR struct(inl return expr [001002]) | |
Successfully inlined Python.Runtime.BorrowedReference:op_Implicit(Python.Runtime.PyObject):Python.Runtime.BorrowedReference (7 IL bytes) (depth 2) [below ALWAYS_INLINE size] | |
-------------------------------------------------------------------------------------------- | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'Python.Runtime.BorrowedReference:op_Implicit(Python.Runtime.PyObject):Python.Runtime.BorrowedReference' | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' | |
Querying runtime about current class of field Python.Runtime.Runtime._PyNone (declared as Python.Runtime.PyObject) | |
Field's current class not available | |
Expanding INLINE_CANDIDATE in statement STMT00264 in BB04: | |
STMT00264 (IL 0x01A... ???) | |
[001002] I-C-G------- * CALL nullcheck struct Python.Runtime.PyObject.get_Reference (exactContextHnd=0x00007FF9001C7A71) | |
[001001] ------------ this in rcx \--* LCL_VAR ref V75 tmp49 | |
thisArg: is a local var | |
[001001] ------------ * LCL_VAR ref V75 tmp49 | |
INLINER: inlineInfo.tokenLookupContextHandle for Python.Runtime.PyObject:get_Reference():Python.Runtime.BorrowedReference:this set to 0x00007FF9001C7A71: | |
Invoking compiler for the inlinee method Python.Runtime.PyObject:get_Reference():Python.Runtime.BorrowedReference:this : | |
IL to import: | |
IL_0000 02 ldarg.0 | |
IL_0001 7b 69 03 00 04 ldfld 0x4000369 | |
IL_0006 73 e3 00 00 06 newobj 0x60000E3 | |
IL_000b 2a ret | |
INLINER impTokenLookupContextHandle for Python.Runtime.PyObject:get_Reference():Python.Runtime.BorrowedReference:this is 0x00007FF9001C7A71. | |
*************** In fgFindBasicBlocks() for Python.Runtime.PyObject:get_Reference():Python.Runtime.BorrowedReference:this | |
Jump targets: | |
none | |
New Basic Block BB121 [0117] created. | |
BB121 [000..00C) | |
Basic block list for 'Python.Runtime.PyObject:get_Reference():Python.Runtime.BorrowedReference:this' | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB121 [0117] 1 1 [000..00C) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[001002] Starting PHASE Pre-import | |
*************** Inline @[001002] Finishing PHASE Pre-import | |
*************** Inline @[001002] Starting PHASE Profile incorporation | |
BBOPT set, but no profile data available (hr=80004001) | |
Computing inlinee profile scale: | |
... no callee profile data, will use non-pgo weight to scale | |
... zero call site count; scale will be 0.0 | |
call site count 0 callee entry count 100 scale 0 | |
Scaling inlinee blocks | |
*************** Inline @[001002] Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB121 [0117] 1 0 [000..00C) (return) rare | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB121 [000..00C) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[001002] Starting PHASE Importation | |
*************** In impImport() for Python.Runtime.PyObject:get_Reference():Python.Runtime.BorrowedReference:this | |
impImportBlockPending for BB121 | |
Importing BB121 (PC=000) of 'Python.Runtime.PyObject:get_Reference():Python.Runtime.BorrowedReference:this' | |
[ 0] 0 (0x000) ldarg.0 | |
[ 1] 1 (0x001) ldfld 04000369 | |
[ 1] 6 (0x006) newobj | |
lvaGrabTemp returning 76 (V76 tmp50) called for NewObj constructor temp. | |
[001010] IA---------- * ASG struct (init) | |
[001008] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V76 tmp50 | |
[001009] ------------ \--* CNS_INT int 0 | |
060000E3 | |
In Compiler::impImportCall: opcode is newobj, kind=0, callRetType is void, structSize is 0 | |
[001013] I-CXG------- * CALL void Python.Runtime.BorrowedReference..ctor (exactContextHnd=0x00007FF9001C5811) | |
[001012] ------------ this in rcx +--* ADDR byref | |
[001011] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V76 tmp50 | |
[001007] ---XG------- arg1 \--* FIELD long rawPtr | |
[001001] ------------ \--* LCL_VAR ref V75 tmp49 | |
[ 1] 11 (0x00b) ret | |
Inlinee Return expression (before normalization) => | |
[001014] ------------ * LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V76 tmp50 | |
impFixupStructReturnType: retyping | |
[001014] ------------ * LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V76 tmp50 | |
Inlinee Return expression (after normalization) => | |
[001014] ------------ * LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V76 tmp50 | |
After impImport() added block for try,catch,finally | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB121 [0117] 1 0 [000..00C) (return) i rare | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[001002] Finishing PHASE Importation | |
Trees after Importation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB121 [0117] 1 0 [000..00C) (return) i rare | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB121 [000..00C) (return), preds={} succs={} | |
***** BB121 | |
[001010] IA---------- * ASG struct (init) | |
[001008] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V76 tmp50 | |
[001009] ------------ \--* CNS_INT int 0 | |
***** BB121 | |
[001013] I-CXG------- * CALL void Python.Runtime.BorrowedReference..ctor (exactContextHnd=0x00007FF9001C5811) | |
[001012] ------------ this in rcx +--* ADDR byref | |
[001011] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V76 tmp50 | |
[001007] ---XG------- arg1 \--* FIELD long rawPtr | |
[001001] ------------ \--* LCL_VAR ref V75 tmp49 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[001002] Starting PHASE Indirect call transform | |
-- no candidates to transform | |
*************** Inline @[001002] Finishing PHASE Indirect call transform [no changes] | |
*************** Inline @[001002] Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Inline @[001002] Finishing PHASE Expand patchpoints [no changes] | |
*************** Inline @[001002] Starting PHASE Post-import | |
*************** In fgRemoveEmptyBlocks | |
*************** Inline @[001002] Finishing PHASE Post-import | |
----------- Statements (and blocks) added due to the inlining of call [001002] ----------- | |
Arguments setup: | |
Inlinee method body: | |
STMT00266 (IL 0x01A... ???) | |
[001010] IA---------- * ASG struct (init) | |
[001008] D------N---- +--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V76 tmp50 | |
[001009] ------------ \--* CNS_INT int 0 | |
STMT00267 (IL 0x01A... ???) | |
[001013] I-CXG------- * CALL void Python.Runtime.BorrowedReference..ctor (exactContextHnd=0x00007FF9001C5811) | |
[001012] ------------ this in rcx +--* ADDR byref | |
[001011] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V76 tmp50 | |
[001007] ---XG------- arg1 \--* FIELD long rawPtr | |
[001001] ------------ \--* LCL_VAR ref V75 tmp49 | |
fgInlineAppendStatements: no gc ref inline locals. | |
Return expression for call at [001002] is | |
[001014] ------------ * LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V76 tmp50 | |
Successfully inlined Python.Runtime.PyObject:get_Reference():Python.Runtime.BorrowedReference:this (12 IL bytes) (depth 3) [below ALWAYS_INLINE size] | |
-------------------------------------------------------------------------------------------- | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'Python.Runtime.PyObject:get_Reference():Python.Runtime.BorrowedReference:this' | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' | |
Expanding INLINE_CANDIDATE in statement STMT00267 in BB04: | |
STMT00267 (IL 0x01A... ???) | |
[001013] I-CXG------- * CALL void Python.Runtime.BorrowedReference..ctor (exactContextHnd=0x00007FF9001C5811) | |
[001012] ------------ this in rcx +--* ADDR byref | |
[001011] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V76 tmp50 | |
[001007] ---XG------- arg1 \--* FIELD long rawPtr | |
[001001] ------------ \--* LCL_VAR ref V75 tmp49 | |
thisArg: is a constant is byref to a struct local | |
[001012] ------------ * ADDR byref | |
[001011] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V76 tmp50 | |
Argument #1: has global refs has side effects | |
[001007] ---XG------- * FIELD long rawPtr | |
[001001] ------------ \--* LCL_VAR ref V75 tmp49 | |
INLINER: inlineInfo.tokenLookupContextHandle for Python.Runtime.BorrowedReference:.ctor(long):this set to 0x00007FF9001C5811: | |
Invoking compiler for the inlinee method Python.Runtime.BorrowedReference:.ctor(long):this : | |
IL to import: | |
IL_0000 02 ldarg.0 | |
IL_0001 03 ldarg.1 | |
IL_0002 7d b5 00 00 04 stfld 0x40000B5 | |
IL_0007 2a ret | |
INLINER impTokenLookupContextHandle for Python.Runtime.BorrowedReference:.ctor(long):this is 0x00007FF9001C5811. | |
*************** In fgFindBasicBlocks() for Python.Runtime.BorrowedReference:.ctor(long):this | |
Jump targets: | |
none | |
New Basic Block BB122 [0118] created. | |
BB122 [000..008) | |
Basic block list for 'Python.Runtime.BorrowedReference:.ctor(long):this' | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB122 [0118] 1 1 [000..008) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[001013] Starting PHASE Pre-import | |
*************** Inline @[001013] Finishing PHASE Pre-import | |
*************** Inline @[001013] Starting PHASE Profile incorporation | |
BBOPT set, but no profile data available (hr=80004001) | |
Computing inlinee profile scale: | |
... no callee profile data, will use non-pgo weight to scale | |
... zero call site count; scale will be 0.0 | |
call site count 0 callee entry count 100 scale 0 | |
Scaling inlinee blocks | |
*************** Inline @[001013] Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB122 [0118] 1 0 [000..008) (return) rare | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB122 [000..008) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[001013] Starting PHASE Importation | |
*************** In impImport() for Python.Runtime.BorrowedReference:.ctor(long):this | |
impImportBlockPending for BB122 | |
Importing BB122 (PC=000) of 'Python.Runtime.BorrowedReference:.ctor(long):this' | |
[ 0] 0 (0x000) ldarg.0 | |
[ 1] 1 (0x001) ldarg.1 | |
lvaGrabTemp returning 77 (V77 tmp51) called for Inlining Arg. | |
[ 2] 2 (0x002) stfld 040000B5 | |
[001020] -A---------- * ASG long | |
[001019] -------N---- +--* FIELD long pointer | |
[001016] ------------ | \--* ADDR byref | |
[001017] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V76 tmp50 | |
[001018] ------------ \--* LCL_VAR long V77 tmp51 | |
[ 0] 7 (0x007) ret | |
After impImport() added block for try,catch,finally | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB122 [0118] 1 0 [000..008) (return) i rare | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[001013] Finishing PHASE Importation | |
Trees after Importation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB122 [0118] 1 0 [000..008) (return) i rare | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB122 [000..008) (return), preds={} succs={} | |
***** BB122 | |
[001020] -A---------- * ASG long | |
[001019] -------N---- +--* FIELD long pointer | |
[001016] ------------ | \--* ADDR byref | |
[001017] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V76 tmp50 | |
[001018] ------------ \--* LCL_VAR long V77 tmp51 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[001013] Starting PHASE Indirect call transform | |
-- no candidates to transform | |
*************** Inline @[001013] Finishing PHASE Indirect call transform [no changes] | |
*************** Inline @[001013] Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Inline @[001013] Finishing PHASE Expand patchpoints [no changes] | |
*************** Inline @[001013] Starting PHASE Post-import | |
*************** In fgRemoveEmptyBlocks | |
*************** Inline @[001013] Finishing PHASE Post-import | |
----------- Statements (and blocks) added due to the inlining of call [001013] ----------- | |
Arguments setup: | |
STMT00269 (IL 0x01A... ???) | |
[001022] -A-XG------- * ASG long | |
[001021] D------N---- +--* LCL_VAR long V77 tmp51 | |
[001007] ---XG------- \--* FIELD long rawPtr | |
[001001] ------------ \--* LCL_VAR ref V75 tmp49 | |
Inlinee method body: | |
STMT00268 (IL 0x01A... ???) | |
[001020] -A---------- * ASG long | |
[001019] -------N---- +--* FIELD long pointer | |
[001016] ------------ | \--* ADDR byref | |
[001017] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V76 tmp50 | |
[001018] ------------ \--* LCL_VAR long V77 tmp51 | |
fgInlineAppendStatements: no gc ref inline locals. | |
Successfully inlined Python.Runtime.BorrowedReference:.ctor(long):this (8 IL bytes) (depth 4) [below ALWAYS_INLINE size] | |
-------------------------------------------------------------------------------------------- | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'Python.Runtime.BorrowedReference:.ctor(long):this' | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' | |
Replacing the return expression placeholder [000834] with [001014] | |
[000834] --C--------- * RET_EXPR struct(inl return expr [000999]) | |
Inserting the inline return expression | |
[001014] ------------ * LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V76 tmp50 | |
Expanding INLINE_CANDIDATE in statement STMT00226 in BB04: | |
STMT00226 (IL ???... ???) | |
[000841] I-C-G------- * CALL void Python.Runtime.NewReference..ctor (exactContextHnd=0x00007FF9001F4CA9) | |
[000840] ------------ this in rcx +--* ADDR byref | |
[000839] -------N---- | \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V58 tmp32 | |
[000847] n----------- arg1 +--* OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000846] ------------ | \--* ADDR byref | |
[000845] -------N---- | \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V59 tmp33 | |
[000848] ------------ arg2 \--* PUTARG_TYPE bool | |
[000835] ------------ \--* CNS_INT int 0 | |
thisArg: is a constant is byref to a struct local | |
[000840] ------------ * ADDR byref | |
[000839] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V58 tmp32 | |
Argument #1: | |
[000847] n----------- * OBJ struct<Python.Runtime.BorrowedReference, 8> | |
[000846] ------------ \--* ADDR byref | |
[000845] -------N---- \--* LCL_VAR struct<Python.Runtime.BorrowedReference, 8> V59 tmp33 | |
Argument #2: is a constant | |
[000835] ------------ * CNS_INT int 0 | |
Folding operator with constant nodes into a constant: | |
[001024] ------------ * CAST int <- bool <- int | |
[000835] ------------ \--* CNS_INT int 0 | |
Bashed to int constant: | |
[001024] ------------ * CNS_INT int 0 | |
INLINER: inlineInfo.tokenLookupContextHandle for Python.Runtime.NewReference:.ctor(Python.Runtime.BorrowedReference,bool):this set to 0x00007FF9001F4CA9: | |
Invoking compiler for the inlinee method Python.Runtime.NewReference:.ctor(Python.Runtime.BorrowedReference,bool):this : | |
IL to import: | |
IL_0000 04 ldarg.2 | |
IL_0001 2d 09 brtrue.s 9 (IL_000c) | |
IL_0003 0f 01 ldarga.s 0x1 | |
IL_0005 28 e0 00 00 06 call 0x60000E0 | |
IL_000a 2b 07 br.s 7 (IL_0013) | |
IL_000c 0f 01 ldarga.s 0x1 | |
IL_000e 28 e1 00 00 06 call 0x60000E1 | |
IL_0013 0a stloc.0 | |
IL_0014 03 ldarg.1 | |
IL_0015 28 e1 07 00 06 call 0x60007E1 | |
IL_001a 02 ldarg.0 | |
IL_001b 06 ldloc.0 | |
IL_001c 7d bb 00 00 04 stfld 0x40000BB | |
IL_0021 2a ret | |
INLINER impTokenLookupContextHandle for Python.Runtime.NewReference:.ctor(Python.Runtime.BorrowedReference,bool):this is 0x00007FF9001F4CA9. | |
*************** In fgFindBasicBlocks() for Python.Runtime.NewReference:.ctor(Python.Runtime.BorrowedReference,bool):this | |
weight= 35 : state 5 [ ldarg.2 ] | |
weight= 25 : state 45 [ brtrue.s ] | |
weight= 77 : state 16 [ ldarga.s ] | |
weight= 79 : state 40 [ call ] | |
weight= 44 : state 43 [ br.s ] | |
weight= 77 : state 16 [ ldarga.s ] | |
weight= 79 : state 40 [ call ] | |
weight= 6 : state 11 [ stloc.0 ] | |
weight= 16 : state 4 [ ldarg.1 ] | |
weight= 79 : state 40 [ call ] | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= 12 : state 7 [ ldloc.0 ] | |
weight= 31 : state 111 [ stfld ] | |
weight= 19 : state 42 [ ret ] | |
multiplier in instance constructors increased to 1.5. | |
multiplier in methods of struct increased to 4.5. | |
1 arguments are structs passed by value. Multiplier increased to 6.5. | |
Inline candidate has 1 foldable branches. Multiplier increased to 10.5. | |
Inline candidate callsite is rare. Multiplier limited to 1.3. | |
Callsite has profile data: 0. Multiplier limited to 0.39. | |
Caller has 79 locals. Multiplier decreased to 0.359912. | |
calleeNativeSizeEstimate=589 | |
callsiteNativeSizeEstimate=145 | |
benefit multiplier=0.359912 | |
threshold=52 | |
Native estimate for function size exceeds threshold for inlining 58.9 > 5.2 (multiplier = 0.359912) | |
Inline expansion aborted, inline not profitable | |
INLINER: during 'fgInline' result 'failed this call site' reason 'unprofitable inline' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'Python.Runtime.NewReference:.ctor(Python.Runtime.BorrowedReference,bool):this' | |
INLINER: during 'fgInline' result 'failed this call site' reason 'unprofitable inline' | |
Expanding INLINE_CANDIDATE in statement STMT00235 in BB97: | |
STMT00235 (IL ???... ???) | |
[000879] I-C-G------- * CALL nullcheck int System.RuntimeType.get_IsGenericType (exactContextHnd=0x00007FF8FCE2EBE8) | |
[000881] ------------ this in rcx \--* LCL_VAR ref V63 tmp37 | |
thisArg: is a local var | |
[000881] ------------ * LCL_VAR ref V63 tmp37 | |
INLINER: inlineInfo.tokenLookupContextHandle for System.RuntimeType:get_IsGenericType():bool:this set to 0x00007FF8FCE2EBE8: | |
Invoking compiler for the inlinee method System.RuntimeType:get_IsGenericType():bool:this : | |
IL to import: | |
IL_0000 02 ldarg.0 | |
IL_0001 28 ba 05 00 06 call 0x60005BA | |
IL_0006 2a ret | |
INLINER impTokenLookupContextHandle for System.RuntimeType:get_IsGenericType():bool:this is 0x00007FF8FCE2EBE8. | |
*************** In fgFindBasicBlocks() for System.RuntimeType:get_IsGenericType():bool:this | |
Jump targets: | |
none | |
New Basic Block BB123 [0119] created. | |
BB123 [000..007) | |
Basic block list for 'System.RuntimeType:get_IsGenericType():bool:this' | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB123 [0119] 1 1 [000..007) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000879] Starting PHASE Pre-import | |
*************** Inline @[000879] Finishing PHASE Pre-import | |
*************** Inline @[000879] Starting PHASE Profile incorporation | |
BBOPT set, but no profile data available (hr=80004001) | |
Computing inlinee profile scale: | |
... no callee profile data, will use non-pgo weight to scale | |
call site count 31 callee entry count 100 scale 0.31 | |
Scaling inlinee blocks | |
*************** Inline @[000879] Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB123 [0119] 1 1 [000..007) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB123 [000..007) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000879] Starting PHASE Importation | |
*************** In impImport() for System.RuntimeType:get_IsGenericType():bool:this | |
impImportBlockPending for BB123 | |
Importing BB123 (PC=000) of 'System.RuntimeType:get_IsGenericType():bool:this' | |
[ 0] 0 (0x000) ldarg.0 | |
[ 1] 1 (0x001) call 060005BA | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is bool, structSize is 0 | |
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'noinline per IL/cached result' for 'System.RuntimeType:get_IsGenericType():bool:this' calling 'System.RuntimeTypeHandle:HasInstantiation(System.RuntimeType):bool' | |
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'noinline per IL/cached result' | |
[ 1] 6 (0x006) ret | |
Inlinee Return expression (before normalization) => | |
[001025] --C-G------- * CALL int System.RuntimeTypeHandle.HasInstantiation | |
[000881] ------------ arg0 \--* LCL_VAR ref V63 tmp37 | |
Inlinee Return expression (after normalization) => | |
[001025] --C-G------- * CALL int System.RuntimeTypeHandle.HasInstantiation | |
[000881] ------------ arg0 \--* LCL_VAR ref V63 tmp37 | |
After impImport() added block for try,catch,finally | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB123 [0119] 1 1 [000..007) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
** Note: inlinee IL was partially imported -- imported 0 of 7 bytes of method IL | |
*************** Inline @[000879] Finishing PHASE Importation | |
Trees after Importation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB123 [0119] 1 1 [000..007) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB123 [000..007) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000879] Starting PHASE Indirect call transform | |
-- no candidates to transform | |
*************** Inline @[000879] Finishing PHASE Indirect call transform [no changes] | |
*************** Inline @[000879] Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Inline @[000879] Finishing PHASE Expand patchpoints [no changes] | |
*************** Inline @[000879] Starting PHASE Post-import | |
*************** In fgRemoveEmptyBlocks | |
*************** Inline @[000879] Finishing PHASE Post-import | |
----------- Statements (and blocks) added due to the inlining of call [000879] ----------- | |
Arguments setup: | |
Inlinee method body:fgInlineAppendStatements: no gc ref inline locals. | |
Return expression for call at [000879] is | |
[001025] --C-G------- * CALL int System.RuntimeTypeHandle.HasInstantiation | |
[000881] ------------ arg0 \--* LCL_VAR ref V63 tmp37 | |
Successfully inlined System.RuntimeType:get_IsGenericType():bool:this (7 IL bytes) (depth 1) [below ALWAYS_INLINE size] | |
-------------------------------------------------------------------------------------------- | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'System.RuntimeType:get_IsGenericType():bool:this' | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' | |
Replacing the return expression placeholder [000882] with [001025] | |
[000882] --C--------- * RET_EXPR int (inl return expr [001025]) | |
Inserting the inline return expression | |
[001025] --C-G------- * CALL int System.RuntimeTypeHandle.HasInstantiation | |
[000881] ------------ arg0 \--* LCL_VAR ref V63 tmp37 | |
**** Late devirt opportunity | |
[000018] --C-G------- * CALLV vt-ind int System.Type.get_IsGenericType | |
[000017] ------------ this in rcx \--* LCL_VAR ref V01 arg1 | |
impDevirtualizeCall: Trying to devirtualize virtual call: | |
class for 'this' is System.Type (attrib 20000400) | |
base method is System.Type::get_IsGenericType | |
devirt to System.Type::get_IsGenericType -- inexact or not final | |
[000018] --C-G------- * CALLV vt-ind int System.Type.get_IsGenericType | |
[000017] ------------ this in rcx \--* LCL_VAR ref V01 arg1 | |
Class not final or exact, and method not final | |
No guarded devirt during late devirtualization | |
Expanding INLINE_CANDIDATE in statement STMT00203 in BB08: | |
STMT00203 (IL ???... ???) | |
[000774] I-C-G------- * CALL void Python.Runtime.PyList..ctor (exactContextHnd=0x00007FF9014B26A1) | |
[000773] ------------ this in rcx \--* LCL_VAR ref V57 tmp31 | |
thisArg: is a local var | |
[000773] ------------ * LCL_VAR ref V57 tmp31 | |
INLINER: inlineInfo.tokenLookupContextHandle for Python.Runtime.PyList:.ctor():this set to 0x00007FF9014B26A1: | |
Invoking compiler for the inlinee method Python.Runtime.PyList:.ctor():this : | |
IL to import: | |
IL_0000 02 ldarg.0 | |
IL_0001 16 ldc.i4.0 | |
IL_0002 d3 conv.i | |
IL_0003 28 a8 08 00 06 call 0x60008A8 | |
IL_0008 0a stloc.0 | |
IL_0009 12 00 ldloca.s 0x0 | |
IL_000b 28 0d 01 00 06 call 0x600010D | |
IL_0010 0b stloc.1 | |
IL_0011 12 01 ldloca.s 0x1 | |
IL_0013 28 77 07 00 06 call 0x6000777 | |
IL_0018 2a ret | |
INLINER impTokenLookupContextHandle for Python.Runtime.PyList:.ctor():this is 0x00007FF9014B26A1. | |
*************** In fgFindBasicBlocks() for Python.Runtime.PyList:.ctor():this | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= 15 : state 23 [ ldc.i4.0 ] | |
weight= 0 : state 157 [ conv.i ] | |
weight= 79 : state 40 [ call ] | |
weight= 6 : state 11 [ stloc.0 ] | |
weight= 61 : state 19 [ ldloca.s ] | |
weight= 79 : state 40 [ call ] | |
weight= 34 : state 12 [ stloc.1 ] | |
weight= 61 : state 19 [ ldloca.s ] | |
weight= 79 : state 40 [ call ] | |
weight= 19 : state 42 [ ret ] | |
multiplier in instance constructors increased to 1.5. | |
Inline candidate looks like a wrapper method. Multiplier increased to 2.5. | |
Inline candidate callsite is rare. Multiplier limited to 1.3. | |
Callsite has profile data: 0. Multiplier limited to 0.39. | |
Caller has 79 locals. Multiplier decreased to 0.359912. | |
calleeNativeSizeEstimate=443 | |
callsiteNativeSizeEstimate=85 | |
benefit multiplier=0.359912 | |
threshold=30 | |
Native estimate for function size exceeds threshold for inlining 44.3 > 3 (multiplier = 0.359912) | |
Inline expansion aborted, inline not profitable | |
INLINER: during 'fgInline' result 'failed this call site' reason 'unprofitable inline' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'Python.Runtime.PyList:.ctor():this' | |
INLINER: during 'fgInline' result 'failed this call site' reason 'unprofitable inline' | |
**** Late devirt opportunity | |
[000781] --CXG------- * CALLV stub ref System.Collections.IEnumerable.GetEnumerator | |
[000780] --CXG------- this in rcx \--* CALL help ref HELPER.CORINFO_HELP_CHKCASTINTERFACE | |
[000779] H------N---- arg0 +--* CNS_INT(h) long 0x7ff8fce2fce8 class | |
[000778] ------------ arg1 \--* LCL_VAR ref V00 arg0 | |
impDevirtualizeCall: Trying to devirtualize interface call: | |
class for 'this' is System.Object (attrib 20000000) | |
base method is System.Collections.IEnumerable::GetEnumerator | |
--- base class is interface | |
--- no derived method: object class could not be cast to interface class | |
Class not final or exact | |
No guarded devirt during late devirtualization | |
**** Late devirt opportunity | |
[000790] --C-G------- * CALLV stub ref System.Collections.IEnumerator.get_Current | |
[000789] ------------ this in rcx \--* LCL_VAR ref V06 loc4 | |
impDevirtualizeCall: Trying to devirtualize interface call: | |
class for 'this' is System.Collections.IEnumerator (attrib 00200400) | |
base method is System.Collections.IEnumerator::get_Current | |
No guarded devirt during late devirtualization | |
Expanding INLINE_CANDIDATE in statement STMT00208 in BB11: | |
STMT00208 (IL 0x067...0x06E) | |
[000794] I-C-G------- * CALL ref Python.Runtime.ConverterExtension.ToPython (exactContextHnd=0x00007FF901486E29) | |
[000793] ------------ arg0 \--* LCL_VAR ref V07 loc5 | |
Argument #0: is a local var | |
[000793] ------------ * LCL_VAR ref V07 loc5 | |
INLINER: inlineInfo.tokenLookupContextHandle for Python.Runtime.ConverterExtension:ToPython(System.Object):Python.Runtime.PyObject set to 0x00007FF901486E29: | |
Invoking compiler for the inlinee method Python.Runtime.ConverterExtension:ToPython(System.Object):Python.Runtime.PyObject : | |
IL to import: | |
IL_0000 02 ldarg.0 | |
IL_0001 2d 06 brtrue.s 6 (IL_0009) | |
IL_0003 28 dd 07 00 06 call 0x60007DD | |
IL_0008 2a ret | |
IL_0009 02 ldarg.0 | |
IL_000a 02 ldarg.0 | |
IL_000b 6f f9 00 00 0a callvirt 0xA0000F9 | |
IL_0010 28 44 00 00 06 call 0x6000044 | |
IL_0015 0a stloc.0 | |
IL_0016 12 00 ldloca.s 0x0 | |
IL_0018 28 06 01 00 06 call 0x6000106 | |
IL_001d 2a ret | |
INLINER impTokenLookupContextHandle for Python.Runtime.ConverterExtension:ToPython(System.Object):Python.Runtime.PyObject is 0x00007FF901486E29. | |
*************** In fgFindBasicBlocks() for Python.Runtime.ConverterExtension:ToPython(System.Object):Python.Runtime.PyObject | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= 25 : state 45 [ brtrue.s ] | |
weight= 79 : state 40 [ call ] | |
weight= 19 : state 42 [ ret ] | |
weight= 10 : state 3 [ ldarg.0 ] | |
Named Intrinsic System.Object.GetType: Not recognized | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= 83 : state 99 [ callvirt ] | |
weight= 79 : state 40 [ call ] | |
weight= 6 : state 11 [ stloc.0 ] | |
weight= 61 : state 19 [ ldloca.s ] | |
weight= 79 : state 40 [ call ] | |
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. | |
Callsite has profile data: 0. Multiplier limited to 1.5. | |
Caller has 79 locals. Multiplier decreased to 1.38428. | |
calleeNativeSizeEstimate=480 | |
callsiteNativeSizeEstimate=85 | |
benefit multiplier=1.38428 | |
threshold=117 | |
Native estimate for function size exceeds threshold for inlining 48 > 11.7 (multiplier = 1.38428) | |
Inline expansion aborted, inline not profitable | |
Inlining [000794] failed, so bashing STMT00208 to NOP | |
INLINER: during 'fgInline' result 'failed this call site' reason 'unprofitable inline' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'Python.Runtime.ConverterExtension:ToPython(System.Object):Python.Runtime.PyObject' | |
INLINER: during 'fgInline' result 'failed this call site' reason 'unprofitable inline' | |
Replacing the return expression placeholder [000795] with [000794] | |
[000795] --C--------- * RET_EXPR ref (inl return expr [000794]) | |
Inserting the inline return expression | |
[000794] --C-G------- * CALL ref Python.Runtime.ConverterExtension.ToPython | |
[000793] ------------ arg0 \--* LCL_VAR ref V07 loc5 | |
Expanding INLINE_CANDIDATE in statement STMT00210 in BB12: | |
STMT00210 (IL 0x070...0x078) | |
[000800] I-C-G------- * CALL nullcheck void Python.Runtime.PyList.Append (exactContextHnd=0x00007FF9014B26A1) | |
[000798] ------------ this in rcx +--* LCL_VAR ref V05 loc3 | |
[000799] ------------ arg1 \--* LCL_VAR ref V08 loc6 | |
thisArg: is a local var | |
[000798] ------------ * LCL_VAR ref V05 loc3 | |
Argument #1: is a local var | |
[000799] ------------ * LCL_VAR ref V08 loc6 | |
INLINER: inlineInfo.tokenLookupContextHandle for Python.Runtime.PyList:Append(Python.Runtime.PyObject):this set to 0x00007FF9014B26A1: | |
Invoking compiler for the inlinee method Python.Runtime.PyList:Append(Python.Runtime.PyObject):this : | |
IL to import: | |
IL_0000 03 ldarg.1 | |
IL_0001 2d 0b brtrue.s 11 (IL_000e) | |
IL_0003 72 69 24 00 70 ldstr 0x70002469 | |
IL_0008 73 56 00 00 0a newobj 0xA000056 | |
IL_000d 7a throw | |
IL_000e 02 ldarg.0 | |
IL_000f 28 06 07 00 06 call 0x6000706 | |
IL_0014 03 ldarg.1 | |
IL_0015 6f 06 07 00 06 callvirt 0x6000706 | |
IL_001a 28 ac 08 00 06 call 0x60008AC | |
IL_001f 0a stloc.0 | |
IL_0020 06 ldloc.0 | |
IL_0021 16 ldc.i4.0 | |
IL_0022 2f 06 bge.s 6 (IL_002a) | |
IL_0024 28 49 06 00 06 call 0x6000649 | |
IL_0029 7a throw | |
IL_002a 2a ret | |
INLINER impTokenLookupContextHandle for Python.Runtime.PyList:Append(Python.Runtime.PyObject):this is 0x00007FF9014B26A1. | |
*************** In fgFindBasicBlocks() for Python.Runtime.PyList:Append(Python.Runtime.PyObject):this | |
weight= 16 : state 4 [ ldarg.1 ] | |
weight= 25 : state 45 [ brtrue.s ] | |
weight= 66 : state 102 [ ldstr ] | |
weight=227 : state 103 [ newobj ] | |
weight=210 : state 108 [ throw ] | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= 79 : state 40 [ call ] | |
weight= 16 : state 4 [ ldarg.1 ] | |
weight= 83 : state 99 [ callvirt ] | |
weight= 79 : state 40 [ call ] | |
weight= 20 : state 199 [ stloc.0 -> ldloc.0 ] | |
weight= 15 : state 23 [ ldc.i4.0 ] | |
weight= 20 : state 47 [ bge.s ] | |
weight= 79 : state 40 [ call ] | |
weight=210 : state 108 [ throw ] | |
weight= 19 : state 42 [ ret ] | |
Inline candidate has an arg that feeds a constant test. Multiplier increased to 1. | |
Inline candidate callsite is in a loop. Multiplier increased to 4. | |
Callsite has profile data: 0. Multiplier limited to 1.2. | |
Caller has 79 locals. Multiplier decreased to 1.10742. | |
calleeNativeSizeEstimate=1174 | |
callsiteNativeSizeEstimate=115 | |
benefit multiplier=1.10742 | |
threshold=127 | |
Native estimate for function size exceeds threshold for inlining 117.4 > 12.7 (multiplier = 1.10742) | |
Inline expansion aborted, inline not profitable | |
INLINER: during 'fgInline' result 'failed this call site' reason 'unprofitable inline' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'Python.Runtime.PyList:Append(Python.Runtime.PyObject):this' | |
INLINER: during 'fgInline' result 'failed this call site' reason 'unprofitable inline' | |
**** Late devirt opportunity | |
[000807] --C-G------- * CALLV stub void System.IDisposable.Dispose | |
[000806] ------------ this in rcx \--* LCL_VAR ref V08 loc6 | |
impDevirtualizeCall: Trying to devirtualize interface call: | |
class for 'this' is Python.Runtime.PyObject (attrib 20000000) | |
base method is System.IDisposable::Dispose | |
--- base class is interface | |
devirt to Python.Runtime.PyObject::Dispose -- final method | |
[000807] --C-G------- * CALLV stub void System.IDisposable.Dispose | |
[000806] ------------ this in rcx \--* LCL_VAR ref V08 loc6 | |
Class not final or exact | |
No guarded devirt during late devirtualization | |
**** Late devirt opportunity | |
[000785] --C-G------- * CALLV stub int System.Collections.IEnumerator.MoveNext | |
[000784] ------------ this in rcx \--* LCL_VAR ref V06 loc4 | |
impDevirtualizeCall: Trying to devirtualize interface call: | |
class for 'this' is System.Collections.IEnumerator (attrib 00200400) | |
base method is System.Collections.IEnumerator::MoveNext | |
No guarded devirt during late devirtualization | |
**** Late devirt opportunity | |
[000825] --C-G------- * CALLV stub void System.IDisposable.Dispose | |
[000824] ------------ this in rcx \--* LCL_VAR ref V09 loc7 | |
impDevirtualizeCall: Trying to devirtualize interface call: | |
class for 'this' is System.IDisposable (attrib 00200400) | |
base method is System.IDisposable::Dispose | |
No guarded devirt during late devirtualization | |
Expanding INLINE_CANDIDATE in statement STMT00214 in BB21: | |
STMT00214 (IL 0x0A6...0x0AC) | |
[000809] I-C-G------- * CALL struct Python.Runtime.PyObjectExtensions.NewReferenceOrNull (exactContextHnd=0x00007FF9026AD409) | |
[000808] ------------ arg0 \--* LCL_VAR ref V05 loc3 | |
Argument #0: is a local var | |
[000808] ------------ * LCL_VAR ref V05 loc3 | |
INLINER: inlineInfo.tokenLookupContextHandle for Python.Runtime.PyObjectExtensions:NewReferenceOrNull(Python.Runtime.PyObject):Python.Runtime.NewReference set to 0x00007FF9026AD409: | |
Invoking compiler for the inlinee method Python.Runtime.PyObjectExtensions:NewReferenceOrNull(Python.Runtime.PyObject):Python.Runtime.NewReference : | |
IL to import: | |
IL_0000 02 ldarg.0 | |
IL_0001 2c 15 brfalse.s 21 (IL_0018) | |
IL_0003 02 ldarg.0 | |
IL_0004 6f 12 07 00 06 callvirt 0x6000712 | |
IL_0009 2d 0d brtrue.s 13 (IL_0018) | |
IL_000b 02 ldarg.0 | |
IL_000c 28 eb 00 00 06 call 0x60000EB | |
IL_0011 16 ldc.i4.0 | |
IL_0012 73 04 01 00 06 newobj 0x6000104 | |
IL_0017 2a ret | |
IL_0018 12 00 ldloca.s 0x0 | |
IL_001a fe 15 31 00 00 02 initobj 0x2000031 | |
IL_0020 06 ldloc.0 | |
IL_0021 2a ret | |
INLINER impTokenLookupContextHandle for Python.Runtime.PyObjectExtensions:NewReferenceOrNull(Python.Runtime.PyObject):Python.Runtime.NewReference is 0x00007FF9026AD409. | |
*************** In fgFindBasicBlocks() for Python.Runtime.PyObjectExtensions:NewReferenceOrNull(Python.Runtime.PyObject):Python.Runtime.NewReference | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= 27 : state 44 [ brfalse.s ] | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= 83 : state 99 [ callvirt ] | |
weight= 25 : state 45 [ brtrue.s ] | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= 79 : state 40 [ call ] | |
weight= 15 : state 23 [ ldc.i4.0 ] | |
weight=227 : state 103 [ newobj ] | |
weight= 19 : state 42 [ ret ] | |
weight= 61 : state 19 [ ldloca.s ] | |
weight= 55 : state 180 [ initobj ] | |
weight= 12 : state 7 [ ldloc.0 ] | |
weight= 19 : state 42 [ ret ] | |
Inline candidate returns a struct by value. Multiplier increased to 2. | |
Callsite passes 1 arguments of exact classes while callee accepts non-exact ones. Multiplier increased to 4.5. | |
Inline candidate has an arg that feeds a constant test. Multiplier increased to 5.5. | |
Inline candidate callsite is rare. Multiplier limited to 1.3. | |
Callsite has profile data: 0. Multiplier limited to 0.39. | |
Caller has 79 locals. Multiplier decreased to 0.359912. | |
calleeNativeSizeEstimate=652 | |
callsiteNativeSizeEstimate=85 | |
benefit multiplier=0.359912 | |
threshold=30 | |
Native estimate for function size exceeds threshold for inlining 65.2 > 3 (multiplier = 0.359912) | |
Inline expansion aborted, inline not profitable | |
Inlining [000809] failed, so bashing STMT00214 to NOP | |
INLINER: during 'fgInline' result 'failed this call site' reason 'unprofitable inline' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'Python.Runtime.PyObjectExtensions:NewReferenceOrNull(Python.Runtime.PyObject):Python.Runtime.NewReference' | |
INLINER: during 'fgInline' result 'failed this call site' reason 'unprofitable inline' | |
Replacing the return expression placeholder [000810] with [000809] | |
[000810] --C--------- * RET_EXPR struct(inl return expr [000809]) | |
Inserting the inline return expression | |
[000809] --C-G------- * CALL struct Python.Runtime.PyObjectExtensions.NewReferenceOrNull | |
[000808] ------------ arg0 \--* LCL_VAR ref V05 loc3 | |
Expanding INLINE_CANDIDATE in statement STMT00222 in BB23: | |
STMT00222 (IL 0x0B6...0x0B7) | |
[000832] I-C-G------- * CALL nullcheck void Python.Runtime.PyObject.Dispose (exactContextHnd=0x00007FF9001C7A71) | |
[000831] ------------ this in rcx \--* LCL_VAR ref V05 loc3 | |
thisArg: is a local var | |
[000831] ------------ * LCL_VAR ref V05 loc3 | |
INLINER: inlineInfo.tokenLookupContextHandle for Python.Runtime.PyObject:Dispose():this set to 0x00007FF9001C7A71: | |
Invoking compiler for the inlinee method Python.Runtime.PyObject:Dispose():this : | |
IL to import: | |
IL_0000 02 ldarg.0 | |
IL_0001 28 4e 02 00 0a call 0xA00024E | |
IL_0006 02 ldarg.0 | |
IL_0007 17 ldc.i4.1 | |
IL_0008 6f 14 07 00 06 callvirt 0x6000714 | |
IL_000d 2a ret | |
INLINER impTokenLookupContextHandle for Python.Runtime.PyObject:Dispose():this is 0x00007FF9001C7A71. | |
*************** In fgFindBasicBlocks() for Python.Runtime.PyObject:Dispose():this | |
Jump targets: | |
none | |
New Basic Block BB124 [0120] created. | |
BB124 [000..00E) | |
Basic block list for 'Python.Runtime.PyObject:Dispose():this' | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB124 [0120] 1 100 [000..00E) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000832] Starting PHASE Pre-import | |
*************** Inline @[000832] Finishing PHASE Pre-import | |
*************** Inline @[000832] Starting PHASE Profile incorporation | |
Have dynamic profile data: 3 schema records (schema at 000001FA2D979CE0, data at 000001FA2D979D28) | |
Unknown PGO record type 0xc3 in schema entry 2 (offset 0x8 count 0x8 other 0x80000000) | |
Profile summary: 1 runs, 0 block probes, 1 edge probes, 1 class profiles, 1 other records | |
Reconstructing block counts from sparse edge instrumentation | |
... adding known edge BB124 -> BB124: weight 554 | |
New BlockSet epoch 5, # of blocks (including unused BB00): 125, bitset array size: 2 (long) | |
Solver: 1 blocks, 1 unknown; 1 edges, 0 unknown, 0 zero (and so ignored) | |
Pass [1]: 1 unknown blocks, 0 unknown edges | |
BB124: 0 incoming unknown, 0 outgoing unknown | |
BB124: all incoming edge weights known, summming... | |
BB124 -> BB124 has weight 554 | |
BB124: all incoming edge weights known, sum is 554 | |
Solver: converged in 1 passes | |
Computing inlinee profile scale: | |
... zero call site count; scale will be 0.0 | |
call site count 0 callee entry count 554 scale 0 | |
Scaling inlinee blocks | |
*************** Inline @[000832] Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB124 [0120] 1 0 0 [000..00E) (return) rare IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB124 [000..00E) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000832] Starting PHASE Importation | |
*************** In impImport() for Python.Runtime.PyObject:Dispose():this | |
impImportBlockPending for BB124 | |
Importing BB124 (PC=000) of 'Python.Runtime.PyObject:Dispose():this' | |
[ 0] 0 (0x000) ldarg.0 | |
[ 1] 1 (0x001) call 0A00024E | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0 | |
[001031] I-C-G------- * CALL void System.GC.SuppressFinalize (exactContextHnd=0x00007FF8FD467E69) | |
[000831] ------------ arg0 \--* LCL_VAR ref V05 loc3 | |
[ 0] 6 (0x006) ldarg.0 | |
[ 1] 7 (0x007) ldc.i4.1 1 | |
[ 2] 8 (0x008) callvirt 06000714 | |
In Compiler::impImportCall: opcode is callvirt, kind=4, callRetType is void, structSize is 0 | |
impDevirtualizeCall: Trying to devirtualize virtual call: | |
class for 'this' is Python.Runtime.PyList [exact] (attrib 20000000) | |
base method is Python.Runtime.PyObject::Dispose | |
devirt to Python.Runtime.PyObject::Dispose -- exact | |
[001034] --C-G------- * CALLV vt-ind void Python.Runtime.PyObject.Dispose | |
[001032] ------------ this in rcx +--* LCL_VAR ref V05 loc3 | |
[001035] ------------ arg1 \--* PUTARG_TYPE bool | |
[001033] ------------ \--* CNS_INT int 1 | |
exact; can devirtualize | |
... after devirt... | |
[001034] --C-G------- * CALL nullcheck void Python.Runtime.PyObject.Dispose | |
[001032] ------------ this in rcx +--* LCL_VAR ref V05 loc3 | |
[001035] ------------ arg1 \--* PUTARG_TYPE bool | |
[001033] ------------ \--* CNS_INT int 1 | |
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'noinline per IL/cached result' for 'Python.Runtime.PyObject:Dispose():this' calling 'Python.Runtime.PyObject:Dispose(bool):this' | |
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'noinline per IL/cached result' | |
[001034] --C-G------- * CALL nullcheck void Python.Runtime.PyObject.Dispose | |
[001032] ------------ this in rcx +--* LCL_VAR ref V05 loc3 | |
[001035] ------------ arg1 \--* PUTARG_TYPE bool | |
[001033] ------------ \--* CNS_INT int 1 | |
[ 0] 13 (0x00d) ret | |
After impImport() added block for try,catch,finally | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB124 [0120] 1 0 0 [000..00E) (return) i rare IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000832] Finishing PHASE Importation | |
Trees after Importation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB124 [0120] 1 0 0 [000..00E) (return) i rare IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB124 [000..00E) (return), preds={} succs={} | |
***** BB124 | |
[001031] I-C-G------- * CALL void System.GC.SuppressFinalize (exactContextHnd=0x00007FF8FD467E69) | |
[000831] ------------ arg0 \--* LCL_VAR ref V05 loc3 | |
***** BB124 | |
[001034] --C-G------- * CALL nullcheck void Python.Runtime.PyObject.Dispose | |
[001032] ------------ this in rcx +--* LCL_VAR ref V05 loc3 | |
[001035] ------------ arg1 \--* PUTARG_TYPE bool | |
[001033] ------------ \--* CNS_INT int 1 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000832] Starting PHASE Indirect call transform | |
-- no candidates to transform | |
*************** Inline @[000832] Finishing PHASE Indirect call transform [no changes] | |
*************** Inline @[000832] Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Inline @[000832] Finishing PHASE Expand patchpoints [no changes] | |
*************** Inline @[000832] Starting PHASE Post-import | |
*************** In fgRemoveEmptyBlocks | |
*************** Inline @[000832] Finishing PHASE Post-import | |
----------- Statements (and blocks) added due to the inlining of call [000832] ----------- | |
Arguments setup: | |
Inlinee method body: | |
STMT00271 (IL 0x0B6... ???) | |
[001031] I-C-G------- * CALL void System.GC.SuppressFinalize (exactContextHnd=0x00007FF8FD467E69) | |
[000831] ------------ arg0 \--* LCL_VAR ref V05 loc3 | |
STMT00272 (IL 0x0B6... ???) | |
[001034] --C-G------- * CALL nullcheck void Python.Runtime.PyObject.Dispose | |
[001032] ------------ this in rcx +--* LCL_VAR ref V05 loc3 | |
[001035] ------------ arg1 \--* PUTARG_TYPE bool | |
[001033] ------------ \--* CNS_INT int 1 | |
fgInlineAppendStatements: no gc ref inline locals. | |
Successfully inlined Python.Runtime.PyObject:Dispose():this (14 IL bytes) (depth 1) [below ALWAYS_INLINE size] | |
-------------------------------------------------------------------------------------------- | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'Python.Runtime.PyObject:Dispose():this' | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' | |
Expanding INLINE_CANDIDATE in statement STMT00271 in BB23: | |
STMT00271 (IL 0x0B6... ???) | |
[001031] I-C-G------- * CALL void System.GC.SuppressFinalize (exactContextHnd=0x00007FF8FD467E69) | |
[000831] ------------ arg0 \--* LCL_VAR ref V05 loc3 | |
Argument #0: is a local var | |
[000831] ------------ * LCL_VAR ref V05 loc3 | |
INLINER: inlineInfo.tokenLookupContextHandle for System.GC:SuppressFinalize(System.Object) set to 0x00007FF8FD467E69: | |
Invoking compiler for the inlinee method System.GC:SuppressFinalize(System.Object) : | |
IL to import: | |
IL_0000 02 ldarg.0 | |
IL_0001 2d 0b brtrue.s 11 (IL_000e) | |
IL_0003 72 b0 18 00 70 ldstr 0x700018B0 | |
IL_0008 73 88 0a 00 06 newobj 0x6000A88 | |
IL_000d 7a throw | |
IL_000e 02 ldarg.0 | |
IL_000f 28 67 04 00 06 call 0x6000467 | |
IL_0014 2a ret | |
INLINER impTokenLookupContextHandle for System.GC:SuppressFinalize(System.Object) is 0x00007FF8FD467E69. | |
*************** In fgFindBasicBlocks() for System.GC:SuppressFinalize(System.Object) | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= 25 : state 45 [ brtrue.s ] | |
weight= 66 : state 102 [ ldstr ] | |
weight=227 : state 103 [ newobj ] | |
weight=210 : state 108 [ throw ] | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= 79 : state 40 [ call ] | |
weight= 19 : state 42 [ ret ] | |
Inline candidate looks like a wrapper method. Multiplier increased to 1. | |
Callsite passes 1 arguments of exact classes while callee accepts non-exact ones. Multiplier increased to 3.5. | |
Inline candidate has an arg that feeds a constant test. Multiplier increased to 4.5. | |
Inline candidate callsite is rare. Multiplier limited to 1.3. | |
Callsite has profile data: 0. Multiplier limited to 0.39. | |
Caller has 79 locals. Multiplier decreased to 0.359912. | |
calleeNativeSizeEstimate=646 | |
callsiteNativeSizeEstimate=85 | |
benefit multiplier=0.359912 | |
threshold=30 | |
Native estimate for function size exceeds threshold for inlining 64.6 > 3 (multiplier = 0.359912) | |
Inline expansion aborted, inline not profitable | |
INLINER: during 'fgInline' result 'failed this call site' reason 'unprofitable inline' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'System.GC:SuppressFinalize(System.Object)' | |
INLINER: during 'fgInline' result 'failed this call site' reason 'unprofitable inline' | |
lvaUpdateClass: NOT Updating class for V03 from (00007FF9014E0530) Python.Runtime.IPythonDerivedType to (00007FF8FCE25908) System.Object | |
Expanding INLINE_CANDIDATE in statement STMT00008 in BB28: | |
STMT00008 (IL 0x0DB...0x0E1) | |
[000033] I-C-G------- * CALL int System.Type.GetTypeCode (exactContextHnd=0x00007FF8FCE2C079) | |
[000032] ------------ arg0 \--* LCL_VAR ref V01 arg1 | |
Argument #0: is a local var | |
[000032] ------------ * LCL_VAR ref V01 arg1 | |
INLINER: inlineInfo.tokenLookupContextHandle for System.Type:GetTypeCode(System.Type):int set to 0x00007FF8FCE2C079: | |
Invoking compiler for the inlinee method System.Type:GetTypeCode(System.Type):int : | |
IL to import: | |
IL_0000 02 ldarg.0 | |
IL_0001 2d 02 brtrue.s 2 (IL_0005) | |
IL_0003 16 ldc.i4.0 | |
IL_0004 2a ret | |
IL_0005 02 ldarg.0 | |
IL_0006 6f e5 08 00 06 callvirt 0x60008E5 | |
IL_000b 2a ret | |
INLINER impTokenLookupContextHandle for System.Type:GetTypeCode(System.Type):int is 0x00007FF8FCE2C079. | |
*************** In fgFindBasicBlocks() for System.Type:GetTypeCode(System.Type):int | |
Jump targets: | |
IL_0005 | |
New Basic Block BB125 [0121] created. | |
BB125 [000..003) | |
New Basic Block BB126 [0122] created. | |
BB126 [003..005) | |
New Basic Block BB127 [0123] created. | |
BB127 [005..00C) | |
lvaGrabTemp returning 78 (V78 tmp52) (a long lifetime temp) called for Inline return value spill temp. | |
Basic block list for 'System.Type:GetTypeCode(System.Type):int' | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB125 [0121] 1 100 [000..003)-> BB127 ( cond ) | |
BB126 [0122] 1 100 [003..005) (return) | |
BB127 [0123] 1 100 [005..00C) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000033] Starting PHASE Pre-import | |
*************** Inline @[000033] Finishing PHASE Pre-import | |
*************** Inline @[000033] Starting PHASE Profile incorporation | |
Have static profile data: 4 schema records (schema at 000001FA28D9CEA0, data at 000001FA28D9CE90) | |
Profile summary: 32 runs, 0 block probes, 2 edge probes, 1 class profiles, 0 other records | |
Reconstructing block counts from sparse edge instrumentation | |
... adding known edge BB126 -> BB125: weight 32 | |
... adding known edge BB127 -> BB125: weight 339456 | |
New BlockSet epoch 6, # of blocks (including unused BB00): 128, bitset array size: 2 (long) | |
... unknown edge BB125 -> BB127 | |
... unknown edge BB125 -> BB126 | |
Solver: 3 blocks, 3 unknown; 4 edges, 2 unknown, 0 zero (and so ignored) | |
Pass [1]: 3 unknown blocks, 2 unknown edges | |
BB127: 1 incoming unknown, 0 outgoing unknown | |
BB127: all outgoing edge weights known, summming... | |
BB127 -> BB125 has weight 339456 | |
BB127: all outgoing edge weights known, sum is 339456 | |
BB125 -> BB127: target block weight and all other incoming edge weights known, so weight is 339456 | |
BB126: 1 incoming unknown, 0 outgoing unknown | |
BB126: all outgoing edge weights known, summming... | |
BB126 -> BB125 has weight 32 | |
BB126: all outgoing edge weights known, sum is 32 | |
BB125 -> BB126: target block weight and all other incoming edge weights known, so weight is 32 | |
BB125: 0 incoming unknown, 0 outgoing unknown | |
BB125: all incoming edge weights known, summming... | |
BB127 -> BB125 has weight 339456 | |
BB126 -> BB125 has weight 32 | |
BB125: all incoming edge weights known, sum is 339488 | |
Solver: converged in 1 passes | |
Computing inlinee profile scale: | |
call site count 31 callee entry count 339488 scale 9.131398e-05 | |
Scaling inlinee blocks | |
*************** Inline @[000033] Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB125 [0121] 1 31 31 [000..003)-> BB127 ( cond ) IBC | |
BB126 [0122] 1 0.00 0 [003..005) (return) IBC | |
BB127 [0123] 1 31.00 31 [005..00C) (return) IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB125 [000..003) -> BB127 (cond), preds={} succs={BB126,BB127} | |
------------ BB126 [003..005) (return), preds={} succs={} | |
------------ BB127 [005..00C) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000033] Starting PHASE Importation | |
*************** In impImport() for System.Type:GetTypeCode(System.Type):int | |
impImportBlockPending for BB125 | |
Importing BB125 (PC=000) of 'System.Type:GetTypeCode(System.Type):int' | |
[ 0] 0 (0x000) ldarg.0 | |
[ 1] 1 (0x001) brtrue.s | |
[001041] ------------ * JTRUE void | |
[001040] ------------ \--* NE int | |
[000032] ------------ +--* LCL_VAR ref V01 arg1 | |
[001039] ------------ \--* CNS_INT ref null | |
impImportBlockPending for BB126 | |
impImportBlockPending for BB127 | |
Importing BB127 (PC=005) of 'System.Type:GetTypeCode(System.Type):int' | |
[ 0] 5 (0x005) ldarg.0 | |
[ 1] 6 (0x006) callvirt 060008E5 | |
In Compiler::impImportCall: opcode is callvirt, kind=4, callRetType is int, structSize is 0 | |
impDevirtualizeCall: Trying to devirtualize virtual call: | |
class for 'this' is System.Type (attrib 20000400) | |
base method is System.Type::GetTypeCodeImpl | |
devirt to System.Type::GetTypeCodeImpl -- inexact or not final | |
[001043] --C-G------- * CALLV vt-ind int System.Type.GetTypeCodeImpl | |
[001042] ------------ this in rcx \--* LCL_VAR ref V01 arg1 | |
Class not final or exact, and method not final | |
Considering guarded devirtualization at IL offset 6 (0x6) | |
Likely class for 00007FF8FCE2C078 (System.Type) is 00007FF8FCE2F700 (System.RuntimeType) [likelihood:100 classes seen:1] | |
virtual call would invoke method GetTypeCodeImpl | |
Marking call [001043] as guarded devirtualization candidate; will guess for class System.RuntimeType | |
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'noinline per IL/cached result' for 'System.Type:GetTypeCode(System.Type):int' calling 'System.Type:GetTypeCodeImpl():int:this' | |
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'noinline per IL/cached result' | |
Revoking guarded devirtualization candidacy for call [001043]: target method can't be inlined | |
[ 1] 11 (0x00b) ret | |
Inlinee Return expression (before normalization) => | |
[001043] --C-G------- * CALLV vt-ind int System.Type.GetTypeCodeImpl | |
[001042] ------------ this in rcx \--* LCL_VAR ref V01 arg1 | |
[001045] -AC-G------- * ASG int | |
[001044] D------N---- +--* LCL_VAR int V78 tmp52 | |
[001043] --C-G------- \--* CALLV vt-ind int System.Type.GetTypeCodeImpl | |
[001042] ------------ this in rcx \--* LCL_VAR ref V01 arg1 | |
Inlinee Return expression (after normalization) => | |
[001046] ------------ * LCL_VAR int V78 tmp52 | |
Importing BB126 (PC=003) of 'System.Type:GetTypeCode(System.Type):int' | |
[ 0] 3 (0x003) ldc.i4.0 0 | |
[ 1] 4 (0x004) ret | |
Inlinee Return expression (before normalization) => | |
[001047] ------------ * CNS_INT int 0 | |
[001049] -A---------- * ASG int | |
[001048] D------N---- +--* LCL_VAR int V78 tmp52 | |
[001047] ------------ \--* CNS_INT int 0 | |
Inlinee Return expression (after normalization) => | |
[001050] ------------ * LCL_VAR int V78 tmp52 | |
After impImport() added block for try,catch,finally | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB125 [0121] 1 31 31 [000..003)-> BB127 ( cond ) i IBC | |
BB126 [0122] 1 0.00 0 [003..005) (return) i IBC | |
BB127 [0123] 1 31.00 31 [005..00C) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000033] Finishing PHASE Importation | |
Trees after Importation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB125 [0121] 1 31 31 [000..003)-> BB127 ( cond ) i IBC | |
BB126 [0122] 1 0.00 0 [003..005) (return) i IBC | |
BB127 [0123] 1 31.00 31 [005..00C) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB125 [000..003) -> BB127 (cond), preds={} succs={BB126,BB127} | |
***** BB125 | |
[001041] ------------ * JTRUE void | |
[001040] ------------ \--* NE int | |
[000032] ------------ +--* LCL_VAR ref V01 arg1 | |
[001039] ------------ \--* CNS_INT ref null | |
------------ BB126 [003..005) (return), preds={} succs={} | |
***** BB126 | |
[001049] -A---------- * ASG int | |
[001048] D------N---- +--* LCL_VAR int V78 tmp52 | |
[001047] ------------ \--* CNS_INT int 0 | |
------------ BB127 [005..00C) (return), preds={} succs={} | |
***** BB127 | |
[001045] -AC-G------- * ASG int | |
[001044] D------N---- +--* LCL_VAR int V78 tmp52 | |
[001043] --C-G------- \--* CALLV vt-ind int System.Type.GetTypeCodeImpl | |
[001042] ------------ this in rcx \--* LCL_VAR ref V01 arg1 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000033] Starting PHASE Indirect call transform | |
-- no transforms done (?) | |
*************** Inline @[000033] Finishing PHASE Indirect call transform [no changes] | |
*************** Inline @[000033] Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Inline @[000033] Finishing PHASE Expand patchpoints [no changes] | |
*************** Inline @[000033] Starting PHASE Post-import | |
*************** In fgRemoveEmptyBlocks | |
*************** Inline @[000033] Finishing PHASE Post-import | |
----------- Statements (and blocks) added due to the inlining of call [000033] ----------- | |
Arguments setup: | |
Inlinee method body:New Basic Block BB128 [0124] created. | |
Convert bbJumpKind of BB126 to BBJ_ALWAYS to bottomBlock BB128 | |
Convert bbJumpKind of BB127 to BBJ_NONE | |
fgInlineAppendStatements: no gc ref inline locals. | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB125 [0121] 1 31 31 [0DB..0DC)-> BB127 ( cond ) i IBC | |
BB126 [0122] 1 0.00 0 [0DB..0DC)-> BB128 (always) i IBC | |
BB127 [0123] 1 31.00 31 [0DB..0DC) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB125 [0DB..0DC) -> BB127 (cond), preds={} succs={BB126,BB127} | |
***** BB125 | |
STMT00274 (IL 0x0DB... ???) | |
[001041] ------------ * JTRUE void | |
[001040] ------------ \--* NE int | |
[000032] ------------ +--* LCL_VAR ref V01 arg1 | |
[001039] ------------ \--* CNS_INT ref null | |
------------ BB126 [0DB..0DC) -> BB128 (always), preds={} succs={BB128} | |
***** BB126 | |
STMT00276 (IL 0x0DB... ???) | |
[001049] -A---------- * ASG int | |
[001048] D------N---- +--* LCL_VAR int V78 tmp52 | |
[001047] ------------ \--* CNS_INT int 0 | |
------------ BB127 [0DB..0DC), preds={} succs={BB128} | |
***** BB127 | |
STMT00275 (IL 0x0DB... ???) | |
[001045] -AC-G------- * ASG int | |
[001044] D------N---- +--* LCL_VAR int V78 tmp52 | |
[001043] --C-G------- \--* CALLV vt-ind int System.Type.GetTypeCodeImpl | |
[001042] ------------ this in rcx \--* LCL_VAR ref V01 arg1 | |
------------------------------------------------------------------------------------------------------------------- | |
Return expression for call at [000033] is | |
[001050] ------------ * LCL_VAR int V78 tmp52 | |
Successfully inlined System.Type:GetTypeCode(System.Type):int (12 IL bytes) (depth 1) [below ALWAYS_INLINE size] | |
-------------------------------------------------------------------------------------------- | |
BB28 becomes empty | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'System.Type:GetTypeCode(System.Type):int' | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' | |
**** Late devirt opportunity | |
[001043] --C-G------- * CALLV vt-ind int System.Type.GetTypeCodeImpl | |
[001042] ------------ this in rcx \--* LCL_VAR ref V01 arg1 | |
impDevirtualizeCall: Trying to devirtualize virtual call: | |
class for 'this' is System.Type (attrib 20000400) | |
base method is System.Type::GetTypeCodeImpl | |
devirt to System.Type::GetTypeCodeImpl -- inexact or not final | |
[001043] --C-G------- * CALLV vt-ind int System.Type.GetTypeCodeImpl | |
[001042] ------------ this in rcx \--* LCL_VAR ref V01 arg1 | |
Class not final or exact, and method not final | |
No guarded devirt during late devirtualization | |
Replacing the return expression placeholder [000034] with [001050] | |
[000034] --C--------- * RET_EXPR int (inl return expr [001050]) | |
Inserting the inline return expression | |
[001050] ------------ * LCL_VAR int V78 tmp52 | |
Expanding INLINE_CANDIDATE in statement STMT00178 in BB31: | |
STMT00178 (IL 0x147...0x14E) | |
[000676] I-C-G------- * CALL struct Python.Runtime.Runtime.PyTuple_New (exactContextHnd=0x00007FF9001CEA41) | |
[000675] ------------ arg0 \--* CNS_INT long 1 | |
Argument #0: is a constant | |
[000675] ------------ * CNS_INT long 1 | |
INLINER: inlineInfo.tokenLookupContextHandle for Python.Runtime.Runtime:PyTuple_New(long):Python.Runtime.NewReference set to 0x00007FF9001CEA41: | |
Invoking compiler for the inlinee method Python.Runtime.Runtime:PyTuple_New(long):Python.Runtime.NewReference : | |
IL to import: | |
IL_0000 28 64 0d 00 06 call 0x6000D64 | |
IL_0005 0a stloc.0 | |
IL_0006 02 ldarg.0 | |
IL_0007 06 ldloc.0 | |
IL_0008 29 2d 01 00 11 calli 0x1100012D | |
IL_000d 2a ret | |
INLINER impTokenLookupContextHandle for Python.Runtime.Runtime:PyTuple_New(long):Python.Runtime.NewReference is 0x00007FF9001CEA41. | |
*************** In fgFindBasicBlocks() for Python.Runtime.Runtime:PyTuple_New(long):Python.Runtime.NewReference | |
Jump targets: | |
none | |
New Basic Block BB129 [0125] created. | |
BB129 [000..00E) | |
Basic block list for 'Python.Runtime.Runtime:PyTuple_New(long):Python.Runtime.NewReference' | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB129 [0125] 1 1 [000..00E) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000676] Starting PHASE Pre-import | |
*************** Inline @[000676] Finishing PHASE Pre-import | |
*************** Inline @[000676] Starting PHASE Profile incorporation | |
BBOPT set, but no profile data available (hr=80004001) | |
Computing inlinee profile scale: | |
... no callee profile data, will use non-pgo weight to scale | |
... zero call site count; scale will be 0.0 | |
call site count 0 callee entry count 100 scale 0 | |
Scaling inlinee blocks | |
*************** Inline @[000676] Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB129 [0125] 1 0 [000..00E) (return) rare | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB129 [000..00E) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000676] Starting PHASE Importation | |
*************** In impImport() for Python.Runtime.Runtime:PyTuple_New(long):Python.Runtime.NewReference | |
impImportBlockPending for BB129 | |
Importing BB129 (PC=000) of 'Python.Runtime.Runtime:PyTuple_New(long):Python.Runtime.NewReference' | |
[ 0] 0 (0x000) call 06000D64 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is long, structSize is 0 | |
[001052] I-C-G------- * CALL long Delegates.get_PyTuple_New (exactContextHnd=0x00007FF9002264F1) | |
[ 1] 5 (0x005) stloc.0 | |
lvaGrabTemp returning 79 (V79 tmp53) (a long lifetime temp) called for Inline stloc first use temp. | |
[001055] -AC--------- * ASG long | |
[001054] D------N---- +--* LCL_VAR long V79 tmp53 | |
[001053] --C--------- \--* RET_EXPR long (inl return expr [001052]) | |
[ 0] 6 (0x006) ldarg.0 | |
[ 1] 7 (0x007) ldloc.0 | |
[ 2] 8 (0x008) calli 1100012D | |
In Compiler::impImportCall: opcode is calli, kind=0, callRetType is struct, structSize is 8 | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct managed' for 'Python.Runtime.Runtime:PyTuple_New(long):Python.Runtime.NewReference' calling 'n/a' | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct managed' | |
[ 1] 13 (0x00d) ret | |
Inlinee Return expression (before normalization) => | |
[001058] --CXG------- * CALL ind struct | |
[001056] ------------ arg0 +--* CNS_INT long 1 | |
[001057] ------------ calli tgt \--* LCL_VAR long V79 tmp53 | |
impFixupStructReturnType: retyping | |
[001058] --CXG------- * CALL ind struct | |
[001056] ------------ arg0 +--* CNS_INT long 1 | |
[001057] ------------ calli tgt \--* LCL_VAR long V79 tmp53 | |
Inlinee Return expression (after normalization) => | |
[001058] --CXG------- * CALL ind struct | |
[001056] ------------ arg0 +--* CNS_INT long 1 | |
[001057] ------------ calli tgt \--* LCL_VAR long V79 tmp53 | |
After impImport() added block for try,catch,finally | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB129 [0125] 1 0 [000..00E) (return) i rare | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000676] Finishing PHASE Importation | |
Trees after Importation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB129 [0125] 1 0 [000..00E) (return) i rare | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB129 [000..00E) (return), preds={} succs={} | |
***** BB129 | |
[001052] I-C-G------- * CALL long Delegates.get_PyTuple_New (exactContextHnd=0x00007FF9002264F1) | |
***** BB129 | |
[001055] -AC--------- * ASG long | |
[001054] D------N---- +--* LCL_VAR long V79 tmp53 | |
[001053] --C--------- \--* RET_EXPR long (inl return expr [001052]) | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000676] Starting PHASE Indirect call transform | |
-- no candidates to transform | |
*************** Inline @[000676] Finishing PHASE Indirect call transform [no changes] | |
*************** Inline @[000676] Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Inline @[000676] Finishing PHASE Expand patchpoints [no changes] | |
*************** Inline @[000676] Starting PHASE Post-import | |
*************** In fgRemoveEmptyBlocks | |
*************** Inline @[000676] Finishing PHASE Post-import | |
----------- Statements (and blocks) added due to the inlining of call [000676] ----------- | |
Arguments setup: | |
Inlinee method body: | |
STMT00277 (IL 0x147... ???) | |
[001052] I-C-G------- * CALL long Delegates.get_PyTuple_New (exactContextHnd=0x00007FF9002264F1) | |
STMT00278 (IL 0x147... ???) | |
[001055] -AC--------- * ASG long | |
[001054] D------N---- +--* LCL_VAR long V79 tmp53 | |
[001053] --C--------- \--* RET_EXPR long (inl return expr [001052]) | |
fgInlineAppendStatements: no gc ref inline locals. | |
Return expression for call at [000676] is | |
[001058] --CXG------- * CALL ind struct | |
[001056] ------------ arg0 +--* CNS_INT long 1 | |
[001057] ------------ calli tgt \--* LCL_VAR long V79 tmp53 | |
Successfully inlined Python.Runtime.Runtime:PyTuple_New(long):Python.Runtime.NewReference (14 IL bytes) (depth 1) [below ALWAYS_INLINE size] | |
-------------------------------------------------------------------------------------------- | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'Python.Runtime.Runtime:PyTuple_New(long):Python.Runtime.NewReference' | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' | |
Expanding INLINE_CANDIDATE in statement STMT00277 in BB31: | |
STMT00277 (IL 0x147... ???) | |
[001052] I-C-G------- * CALL long Delegates.get_PyTuple_New (exactContextHnd=0x00007FF9002264F1) | |
INLINER: inlineInfo.tokenLookupContextHandle for Delegates:get_PyTuple_New():long set to 0x00007FF9002264F1: | |
Invoking compiler for the inlinee method Delegates:get_PyTuple_New():long : | |
IL to import: | |
IL_0000 7e d7 05 00 04 ldsfld 0x40005D7 | |
IL_0005 2a ret | |
INLINER impTokenLookupContextHandle for Delegates:get_PyTuple_New():long is 0x00007FF9002264F1. | |
*************** In fgFindBasicBlocks() for Delegates:get_PyTuple_New():long | |
Jump targets: | |
none | |
New Basic Block BB130 [0126] created. | |
BB130 [000..006) | |
Basic block list for 'Delegates:get_PyTuple_New():long' | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB130 [0126] 1 1 [000..006) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[001052] Starting PHASE Pre-import | |
*************** Inline @[001052] Finishing PHASE Pre-import | |
*************** Inline @[001052] Starting PHASE Profile incorporation | |
BBOPT set, but no profile data available (hr=80004001) | |
Computing inlinee profile scale: | |
... no callee profile data, will use non-pgo weight to scale | |
... zero call site count; scale will be 0.0 | |
call site count 0 callee entry count 100 scale 0 | |
Scaling inlinee blocks | |
*************** Inline @[001052] Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB130 [0126] 1 0 [000..006) (return) rare | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB130 [000..006) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[001052] Starting PHASE Importation | |
*************** In impImport() for Delegates:get_PyTuple_New():long | |
impImportBlockPending for BB130 | |
Importing BB130 (PC=000) of 'Delegates:get_PyTuple_New():long' | |
[ 0] 0 (0x000) ldsfld 040005D7 | |
[ 1] 5 (0x005) ret | |
Inlinee Return expression (before normalization) => | |
[001061] ------------ * CNS_INT long 0x7ff98ff3b230 | |
Inlinee Return expression (after normalization) => | |
[001061] ------------ * CNS_INT long 0x7ff98ff3b230 | |
After impImport() added block for try,catch,finally | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB130 [0126] 1 0 [000..006) (return) i rare | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
** Note: inlinee IL was partially imported -- imported 0 of 6 bytes of method IL | |
*************** Inline @[001052] Finishing PHASE Importation | |
Trees after Importation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB130 [0126] 1 0 [000..006) (return) i rare | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB130 [000..006) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[001052] Starting PHASE Indirect call transform | |
-- no candidates to transform | |
*************** Inline @[001052] Finishing PHASE Indirect call transform [no changes] | |
*************** Inline @[001052] Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Inline @[001052] Finishing PHASE Expand patchpoints [no changes] | |
*************** Inline @[001052] Starting PHASE Post-import | |
*************** In fgRemoveEmptyBlocks | |
*************** Inline @[001052] Finishing PHASE Post-import | |
----------- Statements (and blocks) added due to the inlining of call [001052] ----------- | |
Inlinee method body:fgInlineAppendStatements: no gc ref inline locals. | |
Return expression for call at [001052] is | |
[001061] ------------ * CNS_INT long 0x7ff98ff3b230 | |
Successfully inlined Delegates:get_PyTuple_New():long (6 IL bytes) (depth 2) [below ALWAYS_INLINE size] | |
-------------------------------------------------------------------------------------------- | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'Delegates:get_PyTuple_New():long' | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' | |
Replacing the return expression placeholder [001053] with [001061] | |
[001053] --C--------- * RET_EXPR long (inl return expr [001061]) | |
Inserting the inline return expression | |
[001061] ------------ * CNS_INT long 0x7ff98ff3b230 | |
Replacing the return expression placeholder [000677] with [001058] | |
[000677] --C--------- * RET_EXPR struct(inl return expr [001058]) | |
Inserting the inline return expression | |
[001058] --CXG------- * CALL ind struct | |
[001056] ------------ arg0 +--* CNS_INT long 1 | |
[001057] ------------ calli tgt \--* LCL_VAR long V79 tmp53 | |
Expanding INLINE_CANDIDATE in statement STMT00180 in BB32: | |
STMT00180 (IL 0x150...0x165) | |
[000683] I-C-G------- * CALL struct Python.Runtime.NewReferenceExtensions.Borrow (exactContextHnd=0x00007FF9001FBA99) | |
[000682] ------------ arg0 \--* ADDR byref | |
[000681] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V18 loc16 | |
Argument #0: is a constant is byref to a struct local | |
[000682] ------------ * ADDR byref | |
[000681] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V18 loc16 | |
INLINER: inlineInfo.tokenLookupContextHandle for Python.Runtime.NewReferenceExtensions:Borrow(byref):Python.Runtime.BorrowedReference set to 0x00007FF9001FBA99: | |
Invoking compiler for the inlinee method Python.Runtime.NewReferenceExtensions:Borrow(byref):Python.Runtime.BorrowedReference : | |
IL to import: | |
IL_0000 02 ldarg.0 | |
IL_0001 28 14 01 00 06 call 0x6000114 | |
IL_0006 2d 07 brtrue.s 7 (IL_000f) | |
IL_0008 02 ldarg.0 | |
IL_0009 28 15 01 00 06 call 0x6000115 | |
IL_000e 2a ret | |
IL_000f 73 f4 01 00 0a newobj 0xA0001F4 | |
IL_0014 7a throw | |
INLINER impTokenLookupContextHandle for Python.Runtime.NewReferenceExtensions:Borrow(byref):Python.Runtime.BorrowedReference is 0x00007FF9001FBA99. | |
*************** In fgFindBasicBlocks() for Python.Runtime.NewReferenceExtensions:Borrow(byref):Python.Runtime.BorrowedReference | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= 79 : state 40 [ call ] | |
weight= 25 : state 45 [ brtrue.s ] | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= 79 : state 40 [ call ] | |
weight= 19 : state 42 [ ret ] | |
weight=227 : state 103 [ newobj ] | |
weight=210 : state 108 [ throw ] | |
Inline candidate returns a struct by value. Multiplier increased to 2. | |
Inline candidate looks like a wrapper method. Multiplier increased to 3. | |
Inline candidate has 1 foldable branches. Multiplier increased to 7. | |
Inline candidate callsite is rare. Multiplier limited to 1.3. | |
Callsite has profile data: 0. Multiplier limited to 0.39. | |
Caller has 119 locals. Multiplier decreased to 0.344678. | |
calleeNativeSizeEstimate=659 | |
callsiteNativeSizeEstimate=85 | |
benefit multiplier=0.344678 | |
threshold=29 | |
Native estimate for function size exceeds threshold for inlining 65.9 > 2.9 (multiplier = 0.344678) | |
Inline expansion aborted, inline not profitable | |
Inlining [000683] failed, so bashing STMT00180 to NOP | |
INLINER: during 'fgInline' result 'failed this call site' reason 'unprofitable inline' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'Python.Runtime.NewReferenceExtensions:Borrow(byref):Python.Runtime.BorrowedReference' | |
INLINER: during 'fgInline' result 'failed this call site' reason 'unprofitable inline' | |
Replacing the return expression placeholder [000684] with [000683] | |
[000684] --C--------- * RET_EXPR struct(inl return expr [000683]) | |
Inserting the inline return expression | |
[000683] --C-G------- * CALL struct Python.Runtime.NewReferenceExtensions.Borrow | |
[000682] ------------ arg0 \--* ADDR byref | |
[000681] -------N---- \--* LCL_VAR struct<Python.Runtime.NewReference, 8> V18 loc16 | |
Expanding INLINE_CANDIDATE in statement STMT00181 in BB32: | |
STMT00181 (IL ???... ???) | |
[000689] I-C-G------- * CALL double System.TimeSpan.get_TotalDays (exactContextHnd=0x00007FF8FD001FA1) | |
[000688] ------------ this in rcx \--* ADDR byref | |
[000687] -------N---- \--* LCL_VAR struct<System.TimeSpan, 8> V17 loc15 | |
thisArg: is a constant is byref to a struct local | |
[000688] ------------ * ADDR byref | |
[000687] -------N---- \--* LCL_VAR struct<System.TimeSpan, 8> V17 loc15 | |
INLINER: inlineInfo.tokenLookupContextHandle for System.TimeSpan:get_TotalDays():double:this set to 0x00007FF8FD001FA1: | |
Invoking compiler for the inlinee method System.TimeSpan:get_TotalDays():double:this : | |
IL to import: | |
IL_0000 02 ldarg.0 | |
IL_0001 7b 5f 06 00 04 ldfld 0x400065F | |
IL_0006 6c conv.r8 | |
IL_0007 23 00 00 00 38 4d 25 69 42 ldc.r8 864000000000.000000 | |
IL_0010 5b div | |
IL_0011 2a ret | |
INLINER impTokenLookupContextHandle for System.TimeSpan:get_TotalDays():double:this is 0x00007FF8FD001FA1. | |
*************** In fgFindBasicBlocks() for System.TimeSpan:get_TotalDays():double:this | |
weight= 31 : state 191 [ ldarg.0 -> ldfld ] | |
weight=197 : state 96 [ conv.r8 ] | |
weight=-17 : state 210 [ ldc.r8 -> div ] | |
weight= 19 : state 42 [ ret ] | |
multiplier in methods of struct increased to 3. | |
1 ldfld or stfld over arguments which are structs. Multiplier increased to 4. | |
Inline candidate is mostly loads and stores. Multiplier increased to 7. | |
Inline has 1 foldable binary expressions. Multiplier increased to 9. | |
Inline has 1 foldable unary expressions. Multiplier increased to 10. | |
Inline candidate callsite is rare. Multiplier limited to 1.3. | |
Callsite has profile data: 0. Multiplier limited to 0.39. | |
Caller has 119 locals. Multiplier decreased to 0.344678. | |
calleeNativeSizeEstimate=230 | |
callsiteNativeSizeEstimate=85 | |
benefit multiplier=0.344678 | |
threshold=29 | |
Native estimate for function size exceeds threshold for inlining 23 > 2.9 (multiplier = 0.344678) | |
Inline expansion aborted, inline not profitable | |
Inlining [000689] failed, so bashing STMT00181 to NOP | |
INLINER: during 'fgInline' result 'failed this call site' reason 'unprofitable inline' for 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' calling 'System.TimeSpan:get_TotalDays():double:this' | |
INLINER: during 'fgInline' result 'failed this call site' reason 'unprofitable inline' | |
Expanding INLINE_CANDIDATE in statement STMT00183 in BB32: | |
STMT00183 (IL ???... ???) | |
[000695] I-C-G------- * CALL struct Python.Runtime.Runtime.PyFloat_FromDouble (exactContextHnd=0x00007FF9001CEA41) | |
[000694] --C--------- arg0 \--* RET_EXPR double(inl return expr [000689]) | |
Argument #0: has global refs has caller local ref has side effects | |
[000689] --C-G------- * CALL double System.TimeSpan.get_TotalDays | |
[000688] ------------ this in rcx \--* ADDR byref | |
[000687] -------N---- \--* LCL_VAR struct<System.TimeSpan, 8> V17 loc15 | |
INLINER: inlineInfo.tokenLookupContextHandle for Python.Runtime.Runtime:PyFloat_FromDouble(double):Python.Runtime.NewReference set to 0x00007FF9001CEA41: | |
Invoking compiler for the inlinee method Python.Runtime.Runtime:PyFloat_FromDouble(double):Python.Runtime.NewReference : | |
IL to import: | |
IL_0000 28 10 0d 00 06 call 0x6000D10 | |
IL_0005 0a stloc.0 | |
IL_0006 02 ldarg.0 | |
IL_0007 06 ldloc.0 | |
IL_0008 29 2f 01 00 11 calli 0x1100012F | |
IL_000d 2a ret | |
INLINER impTokenLookupContextHandle for Python.Runtime.Runtime:PyFloat_FromDouble(double):Python.Runtime.NewReference is 0x00007FF9001CEA41. | |
*************** In fgFindBasicBlocks() for Python.Runtime.Runtime:PyFloat_FromDouble(double):Python.Runtime.NewReference | |
Jump targets: | |
none | |
New Basic Block BB131 [0127] created. | |
BB131 [000..00E) | |
Basic block list for 'Python.Runtime.Runtime:PyFloat_FromDouble(double):Python.Runtime.NewReference' | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB131 [0127] 1 1 [000..00E) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000695] Starting PHASE Pre-import | |
*************** Inline @[000695] Finishing PHASE Pre-import | |
*************** Inline @[000695] Starting PHASE Profile incorporation | |
BBOPT set, but no profile data available (hr=80004001) | |
Computing inlinee profile scale: | |
... no callee profile data, will use non-pgo weight to scale | |
... zero call site count; scale will be 0.0 | |
call site count 0 callee entry count 100 scale 0 | |
Scaling inlinee blocks | |
*************** Inline @[000695] Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB131 [0127] 1 0 [000..00E) (return) rare | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB131 [000..00E) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000695] Starting PHASE Importation | |
*************** In impImport() for Python.Runtime.Runtime:PyFloat_FromDouble(double):Python.Runtime.NewReference | |
impImportBlockPending for BB131 | |
Importing BB131 (PC=000) of 'Python.Runtime.Runtime:PyFloat_FromDouble(double):Python.Runtime.NewReference' | |
[ 0] 0 (0x000) call 06000D10 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is long, structSize is 0 | |
[001065] I-C-G------- * CALL long Delegates.get_PyFloat_FromDouble (exactContextHnd=0x00007FF9002264F1) | |
[ 1] 5 (0x005) stloc.0 | |
lvaGrabTemp returning 80 (V80 tmp54) (a long lifetime temp) called for Inline stloc first use temp. | |
[001068] -AC--------- * ASG long | |
[001067] D------N---- +--* LCL_VAR long V80 tmp54 | |
[001066] --C--------- \--* RET_EXPR long (inl return expr [001065]) | |
[ 0] 6 (0x006) ldarg.0 | |
lvaGrabTemp returning 81 (V81 tmp55) called for Inlining Arg. | |
[ 1] 7 (0x007) ldloc.0 | |
[ 2] 8 (0x008) calli 1100012F | |
In Compiler::impImportCall: opcode is calli, kind=0, callRetType is struct, structSize is 8 | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct managed' for 'Python.Runtime.Runtime:PyFloat_FromDouble(double):Python.Runtime.NewReference' calling 'n/a' | |
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct managed' | |
[ 1] 13 (0x00d) ret | |
Inlinee Return expression (before normalization) => | |
[001071] --CXG------- * CALL ind struct | |
[001069] ------------ arg0 +--* LCL_VAR double V81 tmp55 | |
[001070] ------------ calli tgt \--* LCL_VAR long V80 tmp54 | |
impFixupStructReturnType: retyping | |
[001071] --CXG------- * CALL ind struct | |
[001069] ------------ arg0 +--* LCL_VAR double V81 tmp55 | |
[001070] ------------ calli tgt \--* LCL_VAR long V80 tmp54 | |
Inlinee Return expression (after normalization) => | |
[001071] --CXG------- * CALL ind struct | |
[001069] ------------ arg0 +--* LCL_VAR double V81 tmp55 | |
[001070] ------------ calli tgt \--* LCL_VAR long V80 tmp54 | |
After impImport() added block for try,catch,finally | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB131 [0127] 1 0 [000..00E) (return) i rare | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000695] Finishing PHASE Importation | |
Trees after Importation | |
------------------- |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment