Running HelloWorld with: MONO_ENV_OPTIONS= ../../../../artifacts/obj/mono/osx.arm64.Debug/mono/mini/mono-sgen ../../../../artifacts/bin/HelloWorld/arm64/Debug/osx-arm64/publish/HelloWorld.dll converting method bool System.Threading.Channels.UnboundedChannel`2/UnboundedChannelWriter>:TryWrite (int) created temp 0 (R32) of type System.Byte creating vars created temp 1 (R33) of type System.IntPtr created temp 2 (R34) of type System.Int32 return : arg R32 <- this: arg R33 <- arg [0]: arg R34 <- creating locals local [0]: created temp 3 (R35) of type System.Threading.Channels.UnboundedChannel> local [1]: created temp 4 (R36) of type System.Threading.Channels.AsyncOperation local [2]: created temp 5 (R37) of type System.Threading.Channels.AsyncOperation local [3]: created temp 6 (R38) of type System.Object local [4]: created temp 7 (R39) of type System.Byte local [5]: created temp 8 (R40) of type System.Byte local [6]: created temp 9 (R41) of type System.Byte local [7]: created temp 10 (R42) of type System.Byte local [8]: created temp 11 (R43) of type System.Threading.Channels.Channel.UnboundedChannelConcurrentQueue local [9]: created temp 12 (R44) of type System.Byte local [10]: created temp 13 (R45) of type System.Byte local [11]: created temp 14 (R46) of type System.Byte local [12]: created temp 15 (R47) of type System.Byte locals done method to IR System.Threading.Channels.UnboundedChannel`2/UnboundedChannelWriter>:TryWrite (int) created temp 16 (R48) of type System.Object converting (in B5: stack: 0) IL_0000: nop converting (in B5: stack: 0) IL_0001: ldarg.0 converting (in B5: stack: 1) IL_0002: ldfld 0x0a00019f converting (in B5: stack: 1) IL_0007: stloc.0 converting (in B5: stack: 0) IL_0008: br IL_00de converting (in B7: stack: 0) IL_000d: nop converting (in B7: stack: 0) IL_000e: ldnull converting (in B7: stack: 1) IL_000f: stloc.1 converting (in B7: stack: 0) IL_0010: ldnull converting (in B7: stack: 1) IL_0011: stloc.2 converting (in B7: stack: 0) IL_0012: ldloc.0 converting (in B7: stack: 1) IL_0013: callvirt 0x0a00018f cmethod = object System.Threading.Channels.UnboundedChannel`2>:get_SyncObj () converting (in B7: stack: 1) IL_0018: stloc.3 converting (in B7: stack: 0) IL_0019: ldc.i4.0 converting (in B7: stack: 1) IL_001a: stloc.s 4 converting (in B2: stack: 0) IL_001c: ldloc.3 converting (in B2: stack: 1) IL_001d: ldloca.s 4 converting (in B2: stack: 2) IL_001f: call 0x0a000039 cmethod = void System.Threading.Monitor:Enter (object,bool&) converting (in B24: stack: 0) IL_0024: nop converting (in B24: stack: 0) IL_0025: nop converting (in B24: stack: 0) IL_0026: ldloc.0 converting (in B24: stack: 1) IL_0027: callvirt 0x0a00019a cmethod = void System.Threading.Channels.UnboundedChannel`2>:AssertInvariants () converting (in B24: stack: 0) IL_002c: nop converting (in B24: stack: 0) IL_002d: ldloc.0 converting (in B24: stack: 1) IL_002e: ldfld 0x0a000192 converting (in B24: stack: 1) IL_0033: ldnull converting (in B24: stack: 2) IL_0034: cgt.un converting (in B24: stack: 1) IL_0036: stloc.s 5 converting (in B24: stack: 0) IL_0038: ldloc.s 5 converting (in B24: stack: 1) IL_003a: brfalse.s IL_0045 converting (in B9: stack: 0) IL_003c: nop converting (in B9: stack: 0) IL_003d: ldc.i4.0 converting (in B9: stack: 1) IL_003e: stloc.s 6 converting (in B9: stack: 0) IL_0040: leave IL_00e6 converting (in B8: stack: 0) IL_0045: ldloc.0 converting (in B8: stack: 1) IL_0046: ldfld 0x0a000189 converting (in B8: stack: 1) IL_004b: callvirt 0x0a0000aa cmethod = bool System.Collections.Generic.Deque`1>:get_IsEmpty () converting (in B8: stack: 1) IL_0050: stloc.s 7 converting (in B8: stack: 0) IL_0052: ldloc.s 7 converting (in B8: stack: 1) IL_0054: brfalse.s IL_008f converting (in B12: stack: 0) IL_0056: nop converting (in B12: stack: 0) IL_0057: ldloc.0 converting (in B12: stack: 1) IL_0058: ldfld 0x0a00018a converting (in B12: stack: 1) IL_005d: stloc.s 8 converting (in B12: stack: 0) IL_005f: ldloca.s 8 converting (in B12: stack: 1) IL_0061: ldarg.1 converting (in B12: stack: 2) IL_0062: constrained.0x1b00004b converting (in B12: stack: 2) IL_0068: callvirt 0x0a0001a0 cmethod = void System.Threading.Channels.IUnboundedChannelQueue`1:Enqueue (int) Constrained call to System.Threading.Channels.Channel+UnboundedChannelConcurrentQueue`1[System.Int32] converting (in B12: stack: 0) IL_006d: nop converting (in B12: stack: 0) IL_006e: ldloc.0 converting (in B12: stack: 1) IL_006f: ldfld 0x0a000191 converting (in B12: stack: 1) IL_0074: stloc.2 converting (in B12: stack: 0) IL_0075: ldloc.2 converting (in B12: stack: 1) IL_0076: ldnull converting (in B12: stack: 2) IL_0077: ceq converting (in B12: stack: 1) IL_0079: stloc.s 9 converting (in B12: stack: 0) IL_007b: ldloc.s 9 converting (in B12: stack: 1) IL_007d: brfalse.s IL_0085 converting (in B14: stack: 0) IL_007f: nop converting (in B14: stack: 0) IL_0080: ldc.i4.1 converting (in B14: stack: 1) IL_0081: stloc.s 6 converting (in B14: stack: 0) IL_0083: leave.s IL_00e6 converting (in B13: stack: 0) IL_0085: ldloc.0 converting (in B13: stack: 1) IL_0086: ldnull converting (in B13: stack: 2) IL_0087: stfld 0x0a000191 converting (in B13: stack: 0) IL_008c: nop converting (in B13: stack: 0) IL_008d: br.s IL_009d converting (in B11: stack: 0) IL_008f: nop converting (in B11: stack: 0) IL_0090: ldloc.0 converting (in B11: stack: 1) IL_0091: ldfld 0x0a000189 converting (in B11: stack: 1) IL_0096: callvirt 0x0a0000d4 cmethod = System.Threading.Channels.AsyncOperation`1 System.Collections.Generic.Deque`1>:DequeueHead () converting (in B11: stack: 1) IL_009b: stloc.1 converting (in B11: stack: 0) IL_009c: nop converting (in B15: stack: 0) IL_009d: nop converting (in B15: stack: 0) IL_009e: leave.s IL_00ac converting (in B3: stack: 0) IL_00a0: ldloc.s 4 converting (in B3: stack: 1) IL_00a2: brfalse.s IL_00ab converting (in B18: stack: 0) IL_00a4: ldloc.3 converting (in B18: stack: 1) IL_00a5: call 0x0a00003b cmethod = void System.Threading.Monitor:Exit (object) converting (in B18: stack: 0) IL_00aa: nop converting (in B17: stack: 0) IL_00ab: endfinally converting (in B16: stack: 0) IL_00ac: ldloc.1 converting (in B16: stack: 1) IL_00ad: ldnull converting (in B16: stack: 2) IL_00ae: cgt.un converting (in B16: stack: 1) IL_00b0: stloc.s 10 converting (in B16: stack: 0) IL_00b2: ldloc.s 10 converting (in B16: stack: 1) IL_00b4: brfalse.s IL_00cd converting (in B20: stack: 0) IL_00b6: nop converting (in B20: stack: 0) IL_00b7: ldloc.1 converting (in B20: stack: 1) IL_00b8: ldarg.1 converting (in B20: stack: 2) IL_00b9: callvirt 0x0a0000d7 cmethod = bool System.Threading.Channels.AsyncOperation`1:TrySetResult (int) converting (in B20: stack: 1) IL_00be: stloc.s 11 converting (in B20: stack: 0) IL_00c0: ldloc.s 11 converting (in B20: stack: 1) IL_00c2: brfalse.s IL_00ca converting (in B22: stack: 0) IL_00c4: nop converting (in B22: stack: 0) IL_00c5: ldc.i4.1 converting (in B22: stack: 1) IL_00c6: stloc.s 6 converting (in B22: stack: 0) IL_00c8: br.s IL_00e6 converting (in B21: stack: 0) IL_00ca: nop converting (in B21: stack: 0) IL_00cb: br.s IL_00dd converting (in B19: stack: 0) IL_00cd: nop converting (in B19: stack: 0) IL_00ce: ldloca.s 2 converting (in B19: stack: 1) IL_00d0: ldc.i4.1 converting (in B19: stack: 2) IL_00d1: ldnull converting (in B19: stack: 3) IL_00d2: call 0x060000bc cmethod = void System.Threading.Channels.ChannelUtilities:WakeUpWaiters (System.Threading.Channels.AsyncOperation`1&,bool,System.Exception) converting (in B19: stack: 0) IL_00d7: nop converting (in B19: stack: 0) IL_00d8: ldc.i4.1 converting (in B19: stack: 1) IL_00d9: stloc.s 6 converting (in B19: stack: 0) IL_00db: br.s IL_00e6 converting (in B23: stack: 0) IL_00dd: nop converting (in B6: stack: 0) IL_00de: ldc.i4.1 converting (in B6: stack: 1) IL_00df: stloc.s 12 converting (in B6: stack: 0) IL_00e1: br IL_000d converting (in B10: stack: 0) IL_00e6: ldloc.s 6 converting (in B10: stack: 1) IL_00e8: ret FIRST BB for 160 is BB_3 created temp 17 (R132) of type System.IntPtr FIRST BB for 28 is BB_2 created temp 18 (R133) of type System.IntPtr REGION BB0 IL_0000 ID_FFFFFFFF REGION BB4 IL_0000 ID_FFFFFFFF REGION BB5 IL_0008 ID_FFFFFFFF REGION BB7 IL_001a ID_FFFFFFFF REGION BB2 IL_001f ID_00000102 REGION BB25 IL_001f ID_00000102 REGION BB24 IL_003a ID_00000102 REGION BB9 IL_0040 ID_00000102 REGION BB27 IL_0040 ID_00000102 REGION BB26 IL_0040 ID_00000102 REGION BB8 IL_0054 ID_00000102 REGION BB12 IL_007d ID_00000102 REGION BB14 IL_0083 ID_00000102 REGION BB29 IL_0083 ID_00000102 REGION BB28 IL_0083 ID_00000102 REGION BB13 IL_008d ID_00000102 REGION BB11 IL_009c ID_00000102 REGION BB15 IL_009e ID_00000102 REGION BB31 IL_009e ID_00000102 REGION BB30 IL_009e ID_00000102 REGION BB3 IL_00a2 ID_00000112 REGION BB18 IL_00aa ID_00000112 REGION BB17 IL_00ab ID_00000112 REGION BB16 IL_00b4 ID_FFFFFFFF REGION BB20 IL_00c2 ID_FFFFFFFF REGION BB22 IL_00c8 ID_FFFFFFFF REGION BB21 IL_00cb ID_FFFFFFFF REGION BB19 IL_00db ID_FFFFFFFF REGION BB23 IL_00dd ID_FFFFFFFF REGION BB6 IL_00e1 ID_FFFFFFFF REGION BB10 IL_00e8 ID_FFFFFFFF REGION BB1 IL_0000 ID_FFFFFFFF AFTER METHOD-TO-IR 0: [IN: , OUT: BB4(0) ] AFTER METHOD-TO-IR 4: [IN: BB0(0), OUT: BB5(0) ] i8const R35 <- [0] i8const R36 <- [0] i8const R37 <- [0] i8const R38 <- [0] iconst R39 <- [0] iconst R40 <- [0] iconst R41 <- [0] iconst R42 <- [0] vzero R43 <- iconst R44 <- [0] iconst R45 <- [0] iconst R46 <- [0] iconst R47 <- [0] AFTER METHOD-TO-IR 5: [IN: BB4(0), OUT: BB6(0) ] il_seq_point intr il: 0x0 nop il_seq_point il: 0x1 move R49 <- R33 load_membase R50 <- [R49 + 0x10] move R35 <- R50 il_seq_point il: 0x8 br [B6] AFTER METHOD-TO-IR 7: [IN: BB6(0), OUT: BB2(0) ] il_seq_point intr il: 0xd nop il_seq_point il: 0xe i8const R36 <- [0] il_seq_point il: 0x10 i8const R37 <- [0] il_seq_point il: 0x12 move R53 <- R35 move R55 <- R53 check_this [R53 + 0x0] call R54 <- [object System.Threading.Channels.UnboundedChannel`2>:get_SyncObj ()] [r0 <- R55] clobbers: c il_seq_point il: 0x18, nonempty-stack move R38 <- R54 il_seq_point il: 0x19 iconst R56 <- [0] int_conv_to_u1 R57 <- R56 move R39 <- R57 AFTER METHOD-TO-IR 2: [IN: BB7(0), OUT: BB24(0) BB25(0) ] il_seq_point intr il: 0x1c move R58 <- R38 ldaddr R59 <- R39 move R61 <- R58 move R62 <- R59 call R60 <- [mono_monitor_enter_v4_fast] [r0 <- R61] [r1 <- R62] clobbers: c icompare_imm R60 [0] int_bne_un [T:B24 F:B25] AFTER METHOD-TO-IR 25: [IN: BB2(0), OUT: BB24(0) ] move R63 <- R58 move R64 <- R59 voidcall [mono_monitor_enter_v4_internal] [r0 <- R63] [r1 <- R64] clobbers: c AFTER METHOD-TO-IR 24: [IN: BB2(0) BB25(0), OUT: BB8(0) BB9(0) ] il_seq_point il: 0x24, nonempty-stack il_seq_point il: 0x24 nop il_seq_point il: 0x25 nop il_seq_point il: 0x26 move R65 <- R35 move R66 <- R65 check_this [R65 + 0x0] voidcall [void System.Threading.Channels.UnboundedChannel`2>:AssertInvariants ()] [r0 <- R66] clobbers: c il_seq_point il: 0x2c, nonempty-stack il_seq_point il: 0x2c nop il_seq_point il: 0x2d move R67 <- R35 load_membase R68 <- [R67 + 0x40] i8const R69 <- [0] lcompare R68 R69 long_cgt_un R70 <- int_conv_to_u1 R71 <- R70 move R40 <- R71 il_seq_point il: 0x38 move R72 <- R40 icompare_imm R72 [0] int_beq [T:B8 F:B9] AFTER METHOD-TO-IR 9: [IN: BB24(0), OUT: BB3(0) BB26(0) BB27(0) ] il_seq_point intr il: 0x3c nop il_seq_point il: 0x3d iconst R73 <- [0] int_conv_to_u1 R74 <- R73 move R41 <- R74 il_seq_point il: 0x40 i8const R48 <- [0] call_handler [B3] clobbers: c compare_imm R48 [0] long_beq [T:B26 F:B27] AFTER METHOD-TO-IR 27: [IN: BB9(0), OUT: BB26(0) ] voidcall [ves_icall_thread_finish_async_abort] clobbers: c AFTER METHOD-TO-IR 26: [IN: BB9(0) BB27(0), OUT: BB10(0) ] br [B10] AFTER METHOD-TO-IR 8: [IN: BB24(0), OUT: BB11(0) BB12(0) ] il_seq_point intr il: 0x45 move R75 <- R35 load_membase R76 <- [R75 + 0x30] move R78 <- R76 check_this [R76 + 0x0] call R77 <- [bool System.Collections.Generic.Deque`1>:get_IsEmpty ()] [r0 <- R78] clobbers: c int_conv_to_u1 R79 <- R77 il_seq_point il: 0x50, nonempty-stack int_conv_to_u1 R80 <- R79 move R42 <- R80 il_seq_point il: 0x52 move R81 <- R42 icompare_imm R81 [0] int_beq [T:B11 F:B12] AFTER METHOD-TO-IR 12: [IN: BB8(0), OUT: BB13(0) BB14(0) ] il_seq_point intr il: 0x56 nop il_seq_point il: 0x57 move R82 <- R35 loadv_membase R83 <- R82 vmove R43 <- R83 il_seq_point il: 0x5f ldaddr R84 <- R43 move R85 <- R34 move R86 <- R84 move R87 <- R85 voidcall [void System.Threading.Channels.Channel/UnboundedChannelConcurrentQueue`1:Enqueue (int)] [r0 <- R86] [r1 <- R87] clobbers: c il_seq_point il: 0x6d, nonempty-stack il_seq_point il: 0x6d nop il_seq_point il: 0x6e move R88 <- R35 load_membase R89 <- [R88 + 0x38] move R37 <- R89 il_seq_point il: 0x75 move R90 <- R37 i8const R91 <- [0] lcompare R90 R91 long_ceq R92 <- int_conv_to_u1 R93 <- R92 move R44 <- R93 il_seq_point il: 0x7b move R94 <- R44 icompare_imm R94 [0] int_beq [T:B13 F:B14] AFTER METHOD-TO-IR 14: [IN: BB12(0), OUT: BB3(0) BB28(0) BB29(0) ] il_seq_point intr il: 0x7f nop il_seq_point il: 0x80 iconst R95 <- [1] int_conv_to_u1 R96 <- R95 move R41 <- R96 il_seq_point il: 0x83 i8const R48 <- [0] call_handler [B3] clobbers: c compare_imm R48 [0] long_beq [T:B28 F:B29] AFTER METHOD-TO-IR 29: [IN: BB14(0), OUT: BB28(0) ] voidcall [ves_icall_thread_finish_async_abort] clobbers: c AFTER METHOD-TO-IR 28: [IN: BB14(0) BB29(0), OUT: BB10(0) ] br [B10] AFTER METHOD-TO-IR 13: [IN: BB12(0), OUT: BB15(0) ] il_seq_point intr il: 0x85 move R97 <- R35 i8const R98 <- [0] store_membase_reg [R97 + 0x38] <- R98 il_seq_point il: 0x8c nop il_seq_point il: 0x8d br [B15] AFTER METHOD-TO-IR 11: [IN: BB8(0), OUT: BB15(0) ] il_seq_point intr il: 0x8f nop il_seq_point il: 0x90 move R99 <- R35 load_membase R100 <- [R99 + 0x30] move R102 <- R100 check_this [R100 + 0x0] call R101 <- [System.Threading.Channels.AsyncOperation`1 System.Collections.Generic.Deque`1>:DequeueHead ()] [r0 <- R102] clobbers: c il_seq_point il: 0x9b, nonempty-stack move R36 <- R101 il_seq_point il: 0x9c nop AFTER METHOD-TO-IR 15: [IN: BB13(0) BB11(0), OUT: BB3(0) BB30(0) BB31(0) ] il_seq_point intr il: 0x9d nop il_seq_point il: 0x9e i8const R48 <- [0] call_handler [B3] clobbers: c compare_imm R48 [0] long_beq [T:B30 F:B31] AFTER METHOD-TO-IR 31: [IN: BB15(0), OUT: BB30(0) ] voidcall [ves_icall_thread_finish_async_abort] clobbers: c AFTER METHOD-TO-IR 30: [IN: BB15(0) BB31(0), OUT: BB16(0) ] br [B16] AFTER METHOD-TO-IR 3: [IN: BB9(0) BB14(0) BB15(0), OUT: BB17(0) BB18(0) ] start_handler il_seq_point il: 0xa0 move R103 <- R39 icompare_imm R103 [0] int_beq [T:B17 F:B18] AFTER METHOD-TO-IR 18: [IN: BB3(0), OUT: BB17(0) ] il_seq_point intr il: 0xa4 move R104 <- R38 move R105 <- R104 voidcall [void System.Threading.Monitor:Exit (object)] [r0 <- R105] clobbers: c il_seq_point il: 0xaa, nonempty-stack il_seq_point il: 0xaa nop AFTER METHOD-TO-IR 17: [IN: BB3(0) BB18(0), OUT: ] il_seq_point intr il: 0xab endfinally AFTER METHOD-TO-IR 16: [IN: BB30(0), OUT: BB19(0) BB20(0) ] il_seq_point intr il: 0xac move R106 <- R36 i8const R107 <- [0] lcompare R106 R107 long_cgt_un R108 <- int_conv_to_u1 R109 <- R108 move R45 <- R109 il_seq_point il: 0xb2 move R110 <- R45 icompare_imm R110 [0] int_beq [T:B19 F:B20] AFTER METHOD-TO-IR 20: [IN: BB16(0), OUT: BB21(0) BB22(0) ] il_seq_point intr il: 0xb6 nop il_seq_point il: 0xb7 move R111 <- R36 move R112 <- R34 move R114 <- R111 move R115 <- R112 check_this [R111 + 0x0] call R113 <- [bool System.Threading.Channels.AsyncOperation`1:TrySetResult (int)] [r0 <- R114] [r1 <- R115] clobbers: c int_conv_to_u1 R116 <- R113 il_seq_point il: 0xbe, nonempty-stack int_conv_to_u1 R117 <- R116 move R46 <- R117 il_seq_point il: 0xc0 move R118 <- R46 icompare_imm R118 [0] int_beq [T:B21 F:B22] AFTER METHOD-TO-IR 22: [IN: BB20(0), OUT: BB10(0) ] il_seq_point intr il: 0xc4 nop il_seq_point il: 0xc5 iconst R119 <- [1] int_conv_to_u1 R120 <- R119 move R41 <- R120 il_seq_point il: 0xc8 br [B10] AFTER METHOD-TO-IR 21: [IN: BB20(0), OUT: BB23(0) ] il_seq_point intr il: 0xca nop il_seq_point il: 0xcb br [B23] AFTER METHOD-TO-IR 19: [IN: BB16(0), OUT: BB10(0) ] il_seq_point intr il: 0xcd nop il_seq_point il: 0xce ldaddr R121 <- R37 iconst R122 <- [1] i8const R123 <- [0] move R124 <- R121 move R125 <- R122 move R126 <- R123 voidcall [void System.Threading.Channels.ChannelUtilities:WakeUpWaiters (System.Threading.Channels.AsyncOperation`1&,bool,System.Exception)] [r0 <- R124] [r1 <- R125] [r2 <- R126] clobbers: c il_seq_point il: 0xd7, nonempty-stack il_seq_point il: 0xd7 nop il_seq_point il: 0xd8 iconst R127 <- [1] int_conv_to_u1 R128 <- R127 move R41 <- R128 il_seq_point il: 0xdb br [B10] AFTER METHOD-TO-IR 23: [IN: BB21(0), OUT: BB6(0) ] il_seq_point intr il: 0xdd nop AFTER METHOD-TO-IR 6: [IN: BB5(0) BB23(0), OUT: BB7(0) ] il_seq_point intr il: 0xde iconst R129 <- [1] int_conv_to_u1 R130 <- R129 move R47 <- R130 il_seq_point il: 0xe1 br [B7] AFTER METHOD-TO-IR 10: [IN: BB26(0) BB28(0) BB22(0) BB19(0), OUT: BB1(0) ] il_seq_point intr il: 0xe6 move R131 <- R41 il_seq_point intr il: 0xe8 move R32 <- R131 br [B1] AFTER METHOD-TO-IR 1: [IN: BB10(0), OUT: ] pessimize variables in bb 3. pessimize variables in bb 18. pessimize variables in bb 17. CCOPY/2: R49 -> R33 CCOPY/2: R53 -> R35 CCOPY/2: R53 -> R35 CCOPY/2: R65 -> R35 CCOPY/2: R65 -> R35 CCOPY/2: R67 -> R35 CCOPY/2: R75 -> R35 CCOPY/2: R82 -> R35 CCOPY/2: R85 -> R34 CCOPY/2: R88 -> R35 CCOPY: R97 -> R35 CCOPY/2: R99 -> R35 CCOPY/2: R106 -> R36 CCOPY/2: R111 -> R36 CCOPY/2: R112 -> R34 CCOPY/2: R111 -> R36 CCOPY/2: R131 -> R41 block merge triggered 4 -> 5 cbranch1 to branch triggered 20 -> (21) 23 (0x1de) nullify block triggered 21 remove_block_if_useless, removed BB23 br removal triggered 10 -> 1 HANDLE-GLOBAL-VREGS BLOCK 0: HANDLE-GLOBAL-VREGS BLOCK 4: i8const R35 <- [0] i8const R36 <- [0] i8const R37 <- [0] i8const R38 <- [0] iconst R39 <- [0] iconst R40 <- [0] iconst R41 <- [0] iconst R42 <- [0] vzero R43 <- iconst R44 <- [0] iconst R45 <- [0] iconst R46 <- [0] iconst R47 <- [0] il_seq_point intr il: 0x0 il_seq_point il: 0x1 move R49 <- R33 load_membase R50 <- [R33 + 0x10] move R35 <- R50 il_seq_point il: 0x8 br [B6] HANDLE-GLOBAL-VREGS BLOCK 7: il_seq_point intr il: 0xd il_seq_point il: 0xe i8const R36 <- [0] il_seq_point il: 0x10 i8const R37 <- [0] il_seq_point il: 0x12 move R53 <- R35 move R55 <- R35 check_this [R35 + 0x0] call R54 <- [object System.Threading.Channels.UnboundedChannel`2>:get_SyncObj ()] [r0 <- R55] clobbers: c il_seq_point il: 0x18, nonempty-stack move R38 <- R54 il_seq_point il: 0x19 iconst R56 <- [0] int_conv_to_u1 R57 <- R56 move R39 <- R57 HANDLE-GLOBAL-VREGS BLOCK 2: il_seq_point intr il: 0x1c move R58 <- R38 ldaddr R59 <- R39 move R61 <- R58 ldaddr R62 <- R39 call R60 <- [mono_monitor_enter_v4_fast] [r0 <- R61] [r1 <- R62] clobbers: c icompare_imm R60 [0] int_bne_un [T:B24 F:B25] HANDLE-GLOBAL-VREGS BLOCK 25: move R63 <- R58 VREG R58 used in BB3 and BB25 made global. created temp 19 (R58) of type System.IntPtr move R64 <- R59 VREG R59 used in BB3 and BB25 made global. created temp 20 (R59) of type System.IntPtr voidcall [mono_monitor_enter_v4_internal] [r0 <- R63] [r1 <- R64] clobbers: c HANDLE-GLOBAL-VREGS BLOCK 24: il_seq_point il: 0x24, nonempty-stack il_seq_point il: 0x24 il_seq_point il: 0x25 il_seq_point il: 0x26 move R65 <- R35 move R66 <- R35 check_this [R35 + 0x0] voidcall [void System.Threading.Channels.UnboundedChannel`2>:AssertInvariants ()] [r0 <- R66] clobbers: c il_seq_point il: 0x2c, nonempty-stack il_seq_point il: 0x2c il_seq_point il: 0x2d move R67 <- R35 load_membase R68 <- [R35 + 0x40] i8const R69 <- [0] lcompare_imm R68 long_cgt_un R70 <- int_conv_to_u1 R71 <- R70 move R40 <- R71 il_seq_point il: 0x38 move R72 <- R40 icompare_imm R72 [0] int_beq [T:B8 F:B9] HANDLE-GLOBAL-VREGS BLOCK 9: il_seq_point intr il: 0x3c il_seq_point il: 0x3d iconst R73 <- [0] int_conv_to_u1 R74 <- R73 move R41 <- R74 il_seq_point il: 0x40 i8const R48 <- [0] call_handler [B3] clobbers: c compare_imm R48 [0] long_beq [T:B26 F:B27] HANDLE-GLOBAL-VREGS BLOCK 27: voidcall [ves_icall_thread_finish_async_abort] clobbers: c HANDLE-GLOBAL-VREGS BLOCK 26: br [B10] HANDLE-GLOBAL-VREGS BLOCK 8: il_seq_point intr il: 0x45 move R75 <- R35 load_membase R76 <- [R35 + 0x30] move R78 <- R76 check_this [R76 + 0x0] call R77 <- [bool System.Collections.Generic.Deque`1>:get_IsEmpty ()] [r0 <- R78] clobbers: c int_conv_to_u1 R79 <- R77 il_seq_point il: 0x50, nonempty-stack int_conv_to_u1 R80 <- R79 move R42 <- R80 il_seq_point il: 0x52 move R81 <- R42 icompare_imm R81 [0] int_beq [T:B11 F:B12] HANDLE-GLOBAL-VREGS BLOCK 12: il_seq_point intr il: 0x56 il_seq_point il: 0x57 move R82 <- R35 loadv_membase R83 <- R35 vmove R43 <- R83 il_seq_point il: 0x5f ldaddr R84 <- R43 move R85 <- R34 ldaddr R86 <- R43 move R87 <- R34 voidcall [void System.Threading.Channels.Channel/UnboundedChannelConcurrentQueue`1:Enqueue (int)] [r0 <- R86] [r1 <- R87] clobbers: c il_seq_point il: 0x6d, nonempty-stack il_seq_point il: 0x6d il_seq_point il: 0x6e move R88 <- R35 load_membase R89 <- [R35 + 0x38] move R37 <- R89 il_seq_point il: 0x75 move R90 <- R37 i8const R91 <- [0] lcompare_imm R90 long_ceq R92 <- int_conv_to_u1 R93 <- R92 move R44 <- R93 il_seq_point il: 0x7b move R94 <- R44 icompare_imm R94 [0] int_beq [T:B13 F:B14] HANDLE-GLOBAL-VREGS BLOCK 14: il_seq_point intr il: 0x7f il_seq_point il: 0x80 iconst R95 <- [1] int_conv_to_u1 R96 <- R95 move R41 <- R96 il_seq_point il: 0x83 i8const R48 <- [0] call_handler [B3] clobbers: c compare_imm R48 [0] long_beq [T:B28 F:B29] HANDLE-GLOBAL-VREGS BLOCK 29: voidcall [ves_icall_thread_finish_async_abort] clobbers: c HANDLE-GLOBAL-VREGS BLOCK 28: br [B10] HANDLE-GLOBAL-VREGS BLOCK 13: il_seq_point intr il: 0x85 move R97 <- R35 i8const R98 <- [0] store_membase_imm [R35 + 0x38] <- [0] il_seq_point il: 0x8c il_seq_point il: 0x8d br [B15] HANDLE-GLOBAL-VREGS BLOCK 11: il_seq_point intr il: 0x8f il_seq_point il: 0x90 move R99 <- R35 load_membase R100 <- [R35 + 0x30] move R102 <- R100 check_this [R100 + 0x0] call R101 <- [System.Threading.Channels.AsyncOperation`1 System.Collections.Generic.Deque`1>:DequeueHead ()] [r0 <- R102] clobbers: c il_seq_point il: 0x9b, nonempty-stack move R36 <- R101 il_seq_point il: 0x9c HANDLE-GLOBAL-VREGS BLOCK 15: il_seq_point intr il: 0x9d il_seq_point il: 0x9e i8const R48 <- [0] call_handler [B3] clobbers: c compare_imm R48 [0] long_beq [T:B30 F:B31] HANDLE-GLOBAL-VREGS BLOCK 31: voidcall [ves_icall_thread_finish_async_abort] clobbers: c HANDLE-GLOBAL-VREGS BLOCK 30: br [B16] HANDLE-GLOBAL-VREGS BLOCK 3: start_handler il_seq_point il: 0xa0 move R103 <- R39 icompare_imm R103 [0] int_beq [T:B17 F:B18] HANDLE-GLOBAL-VREGS BLOCK 18: il_seq_point intr il: 0xa4 move R104 <- R38 move R105 <- R104 voidcall [void System.Threading.Monitor:Exit (object)] [r0 <- R105] clobbers: c il_seq_point il: 0xaa, nonempty-stack il_seq_point il: 0xaa HANDLE-GLOBAL-VREGS BLOCK 17: il_seq_point intr il: 0xab endfinally HANDLE-GLOBAL-VREGS BLOCK 16: il_seq_point intr il: 0xac move R106 <- R36 i8const R107 <- [0] lcompare_imm R36 long_cgt_un R108 <- int_conv_to_u1 R109 <- R108 move R45 <- R109 il_seq_point il: 0xb2 move R110 <- R45 icompare_imm R110 [0] int_beq [T:B19 F:B20] HANDLE-GLOBAL-VREGS BLOCK 20: il_seq_point intr il: 0xb6 il_seq_point il: 0xb7 move R111 <- R36 move R112 <- R34 move R114 <- R36 move R115 <- R34 check_this [R36 + 0x0] call R113 <- [bool System.Threading.Channels.AsyncOperation`1:TrySetResult (int)] [r0 <- R114] [r1 <- R115] clobbers: c int_conv_to_u1 R116 <- R113 il_seq_point il: 0xbe, nonempty-stack int_conv_to_u1 R117 <- R116 move R46 <- R117 il_seq_point il: 0xc0 move R118 <- R46 icompare_imm R118 [0] int_beq [T:B6 F:B22] HANDLE-GLOBAL-VREGS BLOCK 22: il_seq_point intr il: 0xc4 il_seq_point il: 0xc5 iconst R119 <- [1] int_conv_to_u1 R120 <- R119 move R41 <- R120 il_seq_point il: 0xc8 br [B10] HANDLE-GLOBAL-VREGS BLOCK 19: il_seq_point intr il: 0xcd il_seq_point il: 0xce ldaddr R121 <- R37 iconst R122 <- [1] i8const R123 <- [0] ldaddr R124 <- R37 iconst R125 <- [1] i8const R126 <- [0] voidcall [void System.Threading.Channels.ChannelUtilities:WakeUpWaiters (System.Threading.Channels.AsyncOperation`1&,bool,System.Exception)] [r0 <- R124] [r1 <- R125] [r2 <- R126] clobbers: c il_seq_point il: 0xd7, nonempty-stack il_seq_point il: 0xd7 il_seq_point il: 0xd8 iconst R127 <- [1] int_conv_to_u1 R128 <- R127 move R41 <- R128 il_seq_point il: 0xdb br [B10] HANDLE-GLOBAL-VREGS BLOCK 6: il_seq_point intr il: 0xde iconst R129 <- [1] int_conv_to_u1 R130 <- R129 move R47 <- R130 il_seq_point il: 0xe1 br [B7] HANDLE-GLOBAL-VREGS BLOCK 10: il_seq_point intr il: 0xe6 move R131 <- R41 il_seq_point intr il: 0xe8 move R32 <- R41 nop HANDLE-GLOBAL-VREGS BLOCK 1: Reverse copyprop in BB4 on move R35 <- R50 Reverse copyprop in BB7 on move R39 <- R57 Reverse copyprop in BB7 on move R38 <- R54 Reverse copyprop in BB24 on move R40 <- R71 Reverse copyprop in BB9 on move R41 <- R74 Reverse copyprop in BB8 on move R42 <- R80 Reverse copyprop in BB12 on move R44 <- R93 Reverse copyprop in BB12 on move R37 <- R89 Reverse copyprop in BB12 on vmove R43 <- R83 Reverse copyprop in BB14 on move R41 <- R96 Reverse copyprop in BB11 on move R36 <- R101 Reverse copyprop in BB18 on move R105 <- R104 Reverse copyprop in BB16 on move R45 <- R109 Reverse copyprop in BB20 on move R46 <- R117 Reverse copyprop in BB22 on move R41 <- R120 Reverse copyprop in BB19 on move R41 <- R128 Reverse copyprop in BB6 on move R47 <- R130 BEFORE ALIAS_ANALYSIS 0: [IN: , OUT: BB4(0) ] BEFORE ALIAS_ANALYSIS 4: [IN: BB0(0), OUT: BB6(0) ] i8const R36 <- [0] i8const R37 <- [0] i8const R38 <- [0] iconst R39 <- [0] iconst R40 <- [0] iconst R41 <- [0] iconst R42 <- [0] vzero R43 <- iconst R44 <- [0] iconst R45 <- [0] iconst R46 <- [0] iconst R47 <- [0] il_seq_point intr il: 0x0 il_seq_point il: 0x1 load_membase R35 <- [R33 + 0x10] il_seq_point il: 0x8 br [B6] BEFORE ALIAS_ANALYSIS 7: [IN: BB6(0), OUT: BB2(0) ] il_seq_point intr il: 0xd il_seq_point il: 0xe i8const R36 <- [0] il_seq_point il: 0x10 i8const R37 <- [0] il_seq_point il: 0x12 move R55 <- R35 check_this [R35 + 0x0] call R38 <- [object System.Threading.Channels.UnboundedChannel`2>:get_SyncObj ()] [r0 <- R55] clobbers: c il_seq_point il: 0x18, nonempty-stack il_seq_point il: 0x19 iconst R56 <- [0] int_conv_to_u1 R39 <- R56 BEFORE ALIAS_ANALYSIS 2: [IN: BB7(0), OUT: BB24(0) BB25(0) ] il_seq_point intr il: 0x1c move R58 <- R38 ldaddr R59 <- R39 move R61 <- R58 ldaddr R62 <- R39 call R60 <- [mono_monitor_enter_v4_fast] [r0 <- R61] [r1 <- R62] clobbers: c icompare_imm R60 [0] int_bne_un [T:B24 F:B25] BEFORE ALIAS_ANALYSIS 25: [IN: BB2(0), OUT: BB24(0) ] move R63 <- R58 move R64 <- R59 voidcall [mono_monitor_enter_v4_internal] [r0 <- R63] [r1 <- R64] clobbers: c BEFORE ALIAS_ANALYSIS 24: [IN: BB2(0) BB25(0), OUT: BB8(0) BB9(0) ] il_seq_point il: 0x24, nonempty-stack il_seq_point il: 0x24 il_seq_point il: 0x25 il_seq_point il: 0x26 move R66 <- R35 check_this [R35 + 0x0] voidcall [void System.Threading.Channels.UnboundedChannel`2>:AssertInvariants ()] [r0 <- R66] clobbers: c il_seq_point il: 0x2c, nonempty-stack il_seq_point il: 0x2c il_seq_point il: 0x2d load_membase R68 <- [R35 + 0x40] lcompare_imm R68 long_cgt_un R70 <- int_conv_to_u1 R40 <- R70 il_seq_point il: 0x38 move R72 <- R40 icompare_imm R72 [0] int_beq [T:B8 F:B9] BEFORE ALIAS_ANALYSIS 9: [IN: BB24(0), OUT: BB3(0) BB26(0) BB27(0) ] il_seq_point intr il: 0x3c il_seq_point il: 0x3d iconst R73 <- [0] int_conv_to_u1 R41 <- R73 il_seq_point il: 0x40 i8const R48 <- [0] call_handler [B3] clobbers: c compare_imm R48 [0] long_beq [T:B26 F:B27] BEFORE ALIAS_ANALYSIS 27: [IN: BB9(0), OUT: BB26(0) ] voidcall [ves_icall_thread_finish_async_abort] clobbers: c BEFORE ALIAS_ANALYSIS 26: [IN: BB9(0) BB27(0), OUT: BB10(0) ] br [B10] BEFORE ALIAS_ANALYSIS 8: [IN: BB24(0), OUT: BB11(0) BB12(0) ] il_seq_point intr il: 0x45 load_membase R76 <- [R35 + 0x30] move R78 <- R76 check_this [R76 + 0x0] call R77 <- [bool System.Collections.Generic.Deque`1>:get_IsEmpty ()] [r0 <- R78] clobbers: c int_conv_to_u1 R79 <- R77 il_seq_point il: 0x50, nonempty-stack int_conv_to_u1 R42 <- R79 il_seq_point il: 0x52 move R81 <- R42 icompare_imm R81 [0] int_beq [T:B11 F:B12] BEFORE ALIAS_ANALYSIS 12: [IN: BB8(0), OUT: BB13(0) BB14(0) ] il_seq_point intr il: 0x56 il_seq_point il: 0x57 loadv_membase R43 <- R35 il_seq_point il: 0x5f ldaddr R86 <- R43 move R87 <- R34 voidcall [void System.Threading.Channels.Channel/UnboundedChannelConcurrentQueue`1:Enqueue (int)] [r0 <- R86] [r1 <- R87] clobbers: c il_seq_point il: 0x6d, nonempty-stack il_seq_point il: 0x6d il_seq_point il: 0x6e load_membase R37 <- [R35 + 0x38] il_seq_point il: 0x75 move R90 <- R37 lcompare_imm R90 long_ceq R92 <- int_conv_to_u1 R44 <- R92 il_seq_point il: 0x7b move R94 <- R44 icompare_imm R94 [0] int_beq [T:B13 F:B14] BEFORE ALIAS_ANALYSIS 14: [IN: BB12(0), OUT: BB3(0) BB28(0) BB29(0) ] il_seq_point intr il: 0x7f il_seq_point il: 0x80 iconst R95 <- [1] int_conv_to_u1 R41 <- R95 il_seq_point il: 0x83 i8const R48 <- [0] call_handler [B3] clobbers: c compare_imm R48 [0] long_beq [T:B28 F:B29] BEFORE ALIAS_ANALYSIS 29: [IN: BB14(0), OUT: BB28(0) ] voidcall [ves_icall_thread_finish_async_abort] clobbers: c BEFORE ALIAS_ANALYSIS 28: [IN: BB14(0) BB29(0), OUT: BB10(0) ] br [B10] BEFORE ALIAS_ANALYSIS 13: [IN: BB12(0), OUT: BB15(0) ] il_seq_point intr il: 0x85 store_membase_imm [R35 + 0x38] <- [0] il_seq_point il: 0x8c il_seq_point il: 0x8d br [B15] BEFORE ALIAS_ANALYSIS 11: [IN: BB8(0), OUT: BB15(0) ] il_seq_point intr il: 0x8f il_seq_point il: 0x90 load_membase R100 <- [R35 + 0x30] move R102 <- R100 check_this [R100 + 0x0] call R36 <- [System.Threading.Channels.AsyncOperation`1 System.Collections.Generic.Deque`1>:DequeueHead ()] [r0 <- R102] clobbers: c il_seq_point il: 0x9b, nonempty-stack il_seq_point il: 0x9c BEFORE ALIAS_ANALYSIS 15: [IN: BB13(0) BB11(0), OUT: BB3(0) BB30(0) BB31(0) ] il_seq_point intr il: 0x9d il_seq_point il: 0x9e i8const R48 <- [0] call_handler [B3] clobbers: c compare_imm R48 [0] long_beq [T:B30 F:B31] BEFORE ALIAS_ANALYSIS 31: [IN: BB15(0), OUT: BB30(0) ] voidcall [ves_icall_thread_finish_async_abort] clobbers: c BEFORE ALIAS_ANALYSIS 30: [IN: BB15(0) BB31(0), OUT: BB16(0) ] br [B16] BEFORE ALIAS_ANALYSIS 3: [IN: BB9(0) BB14(0) BB15(0), OUT: BB17(0) BB18(0) ] start_handler il_seq_point il: 0xa0 move R103 <- R39 icompare_imm R103 [0] int_beq [T:B17 F:B18] BEFORE ALIAS_ANALYSIS 18: [IN: BB3(0), OUT: BB17(0) ] il_seq_point intr il: 0xa4 move R105 <- R38 voidcall [void System.Threading.Monitor:Exit (object)] [r0 <- R105] clobbers: c il_seq_point il: 0xaa, nonempty-stack il_seq_point il: 0xaa BEFORE ALIAS_ANALYSIS 17: [IN: BB3(0) BB18(0), OUT: ] il_seq_point intr il: 0xab endfinally BEFORE ALIAS_ANALYSIS 16: [IN: BB30(0), OUT: BB19(0) BB20(0) ] il_seq_point intr il: 0xac lcompare_imm R36 long_cgt_un R108 <- int_conv_to_u1 R45 <- R108 il_seq_point il: 0xb2 move R110 <- R45 icompare_imm R110 [0] int_beq [T:B19 F:B20] BEFORE ALIAS_ANALYSIS 20: [IN: BB16(0), OUT: BB22(0) BB6(0) ] il_seq_point intr il: 0xb6 il_seq_point il: 0xb7 move R114 <- R36 move R115 <- R34 check_this [R36 + 0x0] call R113 <- [bool System.Threading.Channels.AsyncOperation`1:TrySetResult (int)] [r0 <- R114] [r1 <- R115] clobbers: c int_conv_to_u1 R116 <- R113 il_seq_point il: 0xbe, nonempty-stack int_conv_to_u1 R46 <- R116 il_seq_point il: 0xc0 move R118 <- R46 icompare_imm R118 [0] int_beq [T:B6 F:B22] BEFORE ALIAS_ANALYSIS 22: [IN: BB20(0), OUT: BB10(0) ] il_seq_point intr il: 0xc4 il_seq_point il: 0xc5 iconst R119 <- [1] int_conv_to_u1 R41 <- R119 il_seq_point il: 0xc8 br [B10] BEFORE ALIAS_ANALYSIS 19: [IN: BB16(0), OUT: BB10(0) ] il_seq_point intr il: 0xcd il_seq_point il: 0xce ldaddr R124 <- R37 iconst R125 <- [1] i8const R126 <- [0] voidcall [void System.Threading.Channels.ChannelUtilities:WakeUpWaiters (System.Threading.Channels.AsyncOperation`1&,bool,System.Exception)] [r0 <- R124] [r1 <- R125] [r2 <- R126] clobbers: c il_seq_point il: 0xd7, nonempty-stack il_seq_point il: 0xd7 il_seq_point il: 0xd8 iconst R127 <- [1] int_conv_to_u1 R41 <- R127 il_seq_point il: 0xdb br [B10] BEFORE ALIAS_ANALYSIS 6: [IN: BB4(0) BB20(0), OUT: BB7(0) ] il_seq_point intr il: 0xde iconst R129 <- [1] int_conv_to_u1 R47 <- R129 il_seq_point il: 0xe1 br [B7] BEFORE ALIAS_ANALYSIS 10: [IN: BB26(0) BB28(0) BB22(0) BB19(0), OUT: BB1(0) ] il_seq_point intr il: 0xe6 il_seq_point intr il: 0xe8 move R32 <- R41 BEFORE ALIAS_ANALYSIS 1: [IN: BB10(0), OUT: ] Found address to volatile var, can't take it: ldaddr R59 <- R39 Found address to volatile var, can't take it: ldaddr R62 <- R39 New address: ldaddr R86 <- R43 New address: ldaddr R124 <- R37 AFTER ALIAS_ANALYSIS 0: [IN: , OUT: BB4(0) ] AFTER ALIAS_ANALYSIS 4: [IN: BB0(0), OUT: BB6(0) ] i8const R36 <- [0] i8const R37 <- [0] i8const R38 <- [0] iconst R39 <- [0] iconst R40 <- [0] iconst R41 <- [0] iconst R42 <- [0] vzero R43 <- iconst R44 <- [0] iconst R45 <- [0] iconst R46 <- [0] iconst R47 <- [0] il_seq_point intr il: 0x0 il_seq_point il: 0x1 load_membase R35 <- [R33 + 0x10] il_seq_point il: 0x8 br [B6] AFTER ALIAS_ANALYSIS 7: [IN: BB6(0), OUT: BB2(0) ] il_seq_point intr il: 0xd il_seq_point il: 0xe i8const R36 <- [0] il_seq_point il: 0x10 i8const R37 <- [0] il_seq_point il: 0x12 move R55 <- R35 check_this [R35 + 0x0] call R38 <- [object System.Threading.Channels.UnboundedChannel`2>:get_SyncObj ()] [r0 <- R55] clobbers: c il_seq_point il: 0x18, nonempty-stack il_seq_point il: 0x19 iconst R56 <- [0] int_conv_to_u1 R39 <- R56 AFTER ALIAS_ANALYSIS 2: [IN: BB7(0), OUT: BB24(0) BB25(0) ] il_seq_point intr il: 0x1c move R58 <- R38 ldaddr R59 <- R39 move R61 <- R58 ldaddr R62 <- R39 call R60 <- [mono_monitor_enter_v4_fast] [r0 <- R61] [r1 <- R62] clobbers: c icompare_imm R60 [0] int_bne_un [T:B24 F:B25] AFTER ALIAS_ANALYSIS 25: [IN: BB2(0), OUT: BB24(0) ] move R63 <- R58 move R64 <- R59 voidcall [mono_monitor_enter_v4_internal] [r0 <- R63] [r1 <- R64] clobbers: c AFTER ALIAS_ANALYSIS 24: [IN: BB2(0) BB25(0), OUT: BB8(0) BB9(0) ] il_seq_point il: 0x24, nonempty-stack il_seq_point il: 0x24 il_seq_point il: 0x25 il_seq_point il: 0x26 move R66 <- R35 check_this [R35 + 0x0] voidcall [void System.Threading.Channels.UnboundedChannel`2>:AssertInvariants ()] [r0 <- R66] clobbers: c il_seq_point il: 0x2c, nonempty-stack il_seq_point il: 0x2c il_seq_point il: 0x2d load_membase R68 <- [R35 + 0x40] lcompare_imm R68 long_cgt_un R70 <- int_conv_to_u1 R40 <- R70 il_seq_point il: 0x38 move R72 <- R40 icompare_imm R72 [0] int_beq [T:B8 F:B9] AFTER ALIAS_ANALYSIS 9: [IN: BB24(0), OUT: BB3(0) BB26(0) BB27(0) ] il_seq_point intr il: 0x3c il_seq_point il: 0x3d iconst R73 <- [0] int_conv_to_u1 R41 <- R73 il_seq_point il: 0x40 i8const R48 <- [0] call_handler [B3] clobbers: c compare_imm R48 [0] long_beq [T:B26 F:B27] AFTER ALIAS_ANALYSIS 27: [IN: BB9(0), OUT: BB26(0) ] voidcall [ves_icall_thread_finish_async_abort] clobbers: c AFTER ALIAS_ANALYSIS 26: [IN: BB9(0) BB27(0), OUT: BB10(0) ] br [B10] AFTER ALIAS_ANALYSIS 8: [IN: BB24(0), OUT: BB11(0) BB12(0) ] il_seq_point intr il: 0x45 load_membase R76 <- [R35 + 0x30] move R78 <- R76 check_this [R76 + 0x0] call R77 <- [bool System.Collections.Generic.Deque`1>:get_IsEmpty ()] [r0 <- R78] clobbers: c int_conv_to_u1 R79 <- R77 il_seq_point il: 0x50, nonempty-stack int_conv_to_u1 R42 <- R79 il_seq_point il: 0x52 move R81 <- R42 icompare_imm R81 [0] int_beq [T:B11 F:B12] AFTER ALIAS_ANALYSIS 12: [IN: BB8(0), OUT: BB13(0) BB14(0) ] il_seq_point intr il: 0x56 il_seq_point il: 0x57 loadv_membase R43 <- R35 il_seq_point il: 0x5f ldaddr R86 <- R43 move R87 <- R34 voidcall [void System.Threading.Channels.Channel/UnboundedChannelConcurrentQueue`1:Enqueue (int)] [r0 <- R86] [r1 <- R87] clobbers: c il_seq_point il: 0x6d, nonempty-stack il_seq_point il: 0x6d il_seq_point il: 0x6e load_membase R37 <- [R35 + 0x38] il_seq_point il: 0x75 move R90 <- R37 lcompare_imm R90 long_ceq R92 <- int_conv_to_u1 R44 <- R92 il_seq_point il: 0x7b move R94 <- R44 icompare_imm R94 [0] int_beq [T:B13 F:B14] AFTER ALIAS_ANALYSIS 14: [IN: BB12(0), OUT: BB3(0) BB28(0) BB29(0) ] il_seq_point intr il: 0x7f il_seq_point il: 0x80 iconst R95 <- [1] int_conv_to_u1 R41 <- R95 il_seq_point il: 0x83 i8const R48 <- [0] call_handler [B3] clobbers: c compare_imm R48 [0] long_beq [T:B28 F:B29] AFTER ALIAS_ANALYSIS 29: [IN: BB14(0), OUT: BB28(0) ] voidcall [ves_icall_thread_finish_async_abort] clobbers: c AFTER ALIAS_ANALYSIS 28: [IN: BB14(0) BB29(0), OUT: BB10(0) ] br [B10] AFTER ALIAS_ANALYSIS 13: [IN: BB12(0), OUT: BB15(0) ] il_seq_point intr il: 0x85 store_membase_imm [R35 + 0x38] <- [0] il_seq_point il: 0x8c il_seq_point il: 0x8d br [B15] AFTER ALIAS_ANALYSIS 11: [IN: BB8(0), OUT: BB15(0) ] il_seq_point intr il: 0x8f il_seq_point il: 0x90 load_membase R100 <- [R35 + 0x30] move R102 <- R100 check_this [R100 + 0x0] call R36 <- [System.Threading.Channels.AsyncOperation`1 System.Collections.Generic.Deque`1>:DequeueHead ()] [r0 <- R102] clobbers: c il_seq_point il: 0x9b, nonempty-stack il_seq_point il: 0x9c AFTER ALIAS_ANALYSIS 15: [IN: BB13(0) BB11(0), OUT: BB3(0) BB30(0) BB31(0) ] il_seq_point intr il: 0x9d il_seq_point il: 0x9e i8const R48 <- [0] call_handler [B3] clobbers: c compare_imm R48 [0] long_beq [T:B30 F:B31] AFTER ALIAS_ANALYSIS 31: [IN: BB15(0), OUT: BB30(0) ] voidcall [ves_icall_thread_finish_async_abort] clobbers: c AFTER ALIAS_ANALYSIS 30: [IN: BB15(0) BB31(0), OUT: BB16(0) ] br [B16] AFTER ALIAS_ANALYSIS 3: [IN: BB9(0) BB14(0) BB15(0), OUT: BB17(0) BB18(0) ] start_handler il_seq_point il: 0xa0 move R103 <- R39 icompare_imm R103 [0] int_beq [T:B17 F:B18] AFTER ALIAS_ANALYSIS 18: [IN: BB3(0), OUT: BB17(0) ] il_seq_point intr il: 0xa4 move R105 <- R38 voidcall [void System.Threading.Monitor:Exit (object)] [r0 <- R105] clobbers: c il_seq_point il: 0xaa, nonempty-stack il_seq_point il: 0xaa AFTER ALIAS_ANALYSIS 17: [IN: BB3(0) BB18(0), OUT: ] il_seq_point intr il: 0xab endfinally AFTER ALIAS_ANALYSIS 16: [IN: BB30(0), OUT: BB19(0) BB20(0) ] il_seq_point intr il: 0xac lcompare_imm R36 long_cgt_un R108 <- int_conv_to_u1 R45 <- R108 il_seq_point il: 0xb2 move R110 <- R45 icompare_imm R110 [0] int_beq [T:B19 F:B20] AFTER ALIAS_ANALYSIS 20: [IN: BB16(0), OUT: BB22(0) BB6(0) ] il_seq_point intr il: 0xb6 il_seq_point il: 0xb7 move R114 <- R36 move R115 <- R34 check_this [R36 + 0x0] call R113 <- [bool System.Threading.Channels.AsyncOperation`1:TrySetResult (int)] [r0 <- R114] [r1 <- R115] clobbers: c int_conv_to_u1 R116 <- R113 il_seq_point il: 0xbe, nonempty-stack int_conv_to_u1 R46 <- R116 il_seq_point il: 0xc0 move R118 <- R46 icompare_imm R118 [0] int_beq [T:B6 F:B22] AFTER ALIAS_ANALYSIS 22: [IN: BB20(0), OUT: BB10(0) ] il_seq_point intr il: 0xc4 il_seq_point il: 0xc5 iconst R119 <- [1] int_conv_to_u1 R41 <- R119 il_seq_point il: 0xc8 br [B10] AFTER ALIAS_ANALYSIS 19: [IN: BB16(0), OUT: BB10(0) ] il_seq_point intr il: 0xcd il_seq_point il: 0xce ldaddr R124 <- R37 iconst R125 <- [1] i8const R126 <- [0] voidcall [void System.Threading.Channels.ChannelUtilities:WakeUpWaiters (System.Threading.Channels.AsyncOperation`1&,bool,System.Exception)] [r0 <- R124] [r1 <- R125] [r2 <- R126] clobbers: c il_seq_point il: 0xd7, nonempty-stack il_seq_point il: 0xd7 il_seq_point il: 0xd8 iconst R127 <- [1] int_conv_to_u1 R41 <- R127 il_seq_point il: 0xdb br [B10] AFTER ALIAS_ANALYSIS 6: [IN: BB4(0) BB20(0), OUT: BB7(0) ] il_seq_point intr il: 0xde iconst R129 <- [1] int_conv_to_u1 R47 <- R129 il_seq_point il: 0xe1 br [B7] AFTER ALIAS_ANALYSIS 10: [IN: BB26(0) BB28(0) BB22(0) BB19(0), OUT: BB1(0) ] il_seq_point intr il: 0xe6 il_seq_point intr il: 0xe8 move R32 <- R41 AFTER ALIAS_ANALYSIS 1: [IN: BB10(0), OUT: ] BB0 IN: BB4 IN: 0 BB6 IN: 4 20 BB7 IN: 6 BB2 IN: 7 BB24 IN: 2 25 BB8 IN: 24 BB11 IN: 8 BB15 IN: 13 11 BB3 IN: 9 14 15 BB17 IN: 3 18 BB18 IN: 3 BB30 IN: 15 31 BB16 IN: 30 BB19 IN: 16 BB10 IN: 26 28 22 19 BB1 IN: 10 BB20 IN: 16 BB22 IN: 20 BB31 IN: 15 BB12 IN: 8 BB13 IN: 12 BB14 IN: 12 BB28 IN: 14 29 BB29 IN: 14 BB9 IN: 24 BB26 IN: 9 27 BB27 IN: 9 BB25 IN: 2 DTREE System.Threading.Channels.UnboundedChannel`2/UnboundedChannelWriter>:TryWrite (int) 1 BB0(dfn=0) (IDOM=BB-1): BB0 BB4(dfn=1) (IDOM=BB0): BB0 BB4 BB6(dfn=2) (IDOM=BB4): BB0 BB4 BB6 BB7(dfn=3) (IDOM=BB6): BB0 BB4 BB6 BB7 BB2(dfn=4) (IDOM=BB7): BB0 BB4 BB6 BB7 BB2 BB24(dfn=5) (IDOM=BB2): BB0 BB4 BB6 BB7 BB2 BB24 BB8(dfn=6) (IDOM=BB24): BB0 BB4 BB6 BB7 BB2 BB24 BB8 BB11(dfn=7) (IDOM=BB8): BB0 BB4 BB6 BB7 BB2 BB24 BB8 BB11 BB15(dfn=8) (IDOM=BB8): BB0 BB4 BB6 BB7 BB2 BB24 BB8 BB15 BB3(dfn=9) (IDOM=BB24): BB0 BB4 BB6 BB7 BB2 BB24 BB3 BB17(dfn=10) (IDOM=BB3): BB0 BB4 BB6 BB7 BB2 BB24 BB3 BB17 BB18(dfn=11) (IDOM=BB3): BB0 BB4 BB6 BB7 BB2 BB24 BB3 BB18 BB30(dfn=12) (IDOM=BB15): BB0 BB4 BB6 BB7 BB2 BB24 BB8 BB15 BB30 BB16(dfn=13) (IDOM=BB30): BB0 BB4 BB6 BB7 BB2 BB24 BB8 BB15 BB30 BB16 BB19(dfn=14) (IDOM=BB16): BB0 BB4 BB6 BB7 BB2 BB24 BB8 BB15 BB30 BB16 BB19 BB10(dfn=15) (IDOM=BB24): BB0 BB4 BB6 BB7 BB2 BB24 BB10 BB1(dfn=16) (IDOM=BB10): BB0 BB4 BB6 BB7 BB2 BB24 BB10 BB1 BB20(dfn=17) (IDOM=BB16): BB0 BB4 BB6 BB7 BB2 BB24 BB8 BB15 BB30 BB16 BB20 BB22(dfn=18) (IDOM=BB20): BB0 BB4 BB6 BB7 BB2 BB24 BB8 BB15 BB30 BB16 BB20 BB22 BB31(dfn=19) (IDOM=BB15): BB0 BB4 BB6 BB7 BB2 BB24 BB8 BB15 BB31 BB12(dfn=20) (IDOM=BB8): BB0 BB4 BB6 BB7 BB2 BB24 BB8 BB12 BB13(dfn=21) (IDOM=BB12): BB0 BB4 BB6 BB7 BB2 BB24 BB8 BB12 BB13 BB14(dfn=22) (IDOM=BB12): BB0 BB4 BB6 BB7 BB2 BB24 BB8 BB12 BB14 BB28(dfn=23) (IDOM=BB14): BB0 BB4 BB6 BB7 BB2 BB24 BB8 BB12 BB14 BB28 BB29(dfn=24) (IDOM=BB14): BB0 BB4 BB6 BB7 BB2 BB24 BB8 BB12 BB14 BB29 BB9(dfn=25) (IDOM=BB24): BB0 BB4 BB6 BB7 BB2 BB24 BB9 BB26(dfn=26) (IDOM=BB9): BB0 BB4 BB6 BB7 BB2 BB24 BB9 BB26 BB27(dfn=27) (IDOM=BB9): BB0 BB4 BB6 BB7 BB2 BB24 BB9 BB27 BB25(dfn=28) (IDOM=BB2): BB0 BB4 BB6 BB7 BB2 BB25 LOOP START 6 BB6 1 0x12f84d9a0 BB12 1 0x0 BB13 1 0x0 BB7 1 0x0 BB2 1 0x0 BB25 1 0x0 BB24 1 0x0 BB8 1 0x0 BB11 1 0x0 BB15 1 0x0 BB31 1 0x0 BB30 1 0x0 BB16 1 0x0 BB20 1 0x0 INSERTING SAFEPOINTS BEFORE SAFEPOINTS 0: [IN: , OUT: BB4(1) ] BEFORE SAFEPOINTS 4: [IN: BB0(0), OUT: BB6(2) ] i8const R36 <- [0] i8const R37 <- [0] i8const R38 <- [0] iconst R39 <- [0] iconst R40 <- [0] iconst R41 <- [0] iconst R42 <- [0] vzero R43 <- iconst R44 <- [0] iconst R45 <- [0] iconst R46 <- [0] iconst R47 <- [0] il_seq_point intr il: 0x0 il_seq_point il: 0x1 load_membase R35 <- [R33 + 0x10] il_seq_point il: 0x8 br [B6] BEFORE SAFEPOINTS 7: [IN: BB6(2), OUT: BB2(4) ] il_seq_point intr il: 0xd il_seq_point il: 0xe i8const R36 <- [0] il_seq_point il: 0x10 i8const R37 <- [0] il_seq_point il: 0x12 move R55 <- R35 check_this [R35 + 0x0] call R38 <- [object System.Threading.Channels.UnboundedChannel`2>:get_SyncObj ()] [r0 <- R55] clobbers: c il_seq_point il: 0x18, nonempty-stack il_seq_point il: 0x19 iconst R56 <- [0] int_conv_to_u1 R39 <- R56 BEFORE SAFEPOINTS 2: [IN: BB7(3), OUT: BB24(5) BB25(28) ] il_seq_point intr il: 0x1c move R58 <- R38 ldaddr R59 <- R39 move R61 <- R58 ldaddr R62 <- R39 call R60 <- [mono_monitor_enter_v4_fast] [r0 <- R61] [r1 <- R62] clobbers: c icompare_imm R60 [0] int_bne_un [T:B24 F:B25] BEFORE SAFEPOINTS 25: [IN: BB2(4), OUT: BB24(5) ] move R63 <- R58 move R64 <- R59 voidcall [mono_monitor_enter_v4_internal] [r0 <- R63] [r1 <- R64] clobbers: c BEFORE SAFEPOINTS 24: [IN: BB2(4) BB25(28), OUT: BB8(6) BB9(25) ] il_seq_point il: 0x24, nonempty-stack il_seq_point il: 0x24 il_seq_point il: 0x25 il_seq_point il: 0x26 move R66 <- R35 check_this [R35 + 0x0] voidcall [void System.Threading.Channels.UnboundedChannel`2>:AssertInvariants ()] [r0 <- R66] clobbers: c il_seq_point il: 0x2c, nonempty-stack il_seq_point il: 0x2c il_seq_point il: 0x2d load_membase R68 <- [R35 + 0x40] lcompare_imm R68 long_cgt_un R70 <- int_conv_to_u1 R40 <- R70 il_seq_point il: 0x38 move R72 <- R40 icompare_imm R72 [0] int_beq [T:B8 F:B9] BEFORE SAFEPOINTS 9: [IN: BB24(5), OUT: BB3(9) BB26(26) BB27(27) ] il_seq_point intr il: 0x3c il_seq_point il: 0x3d iconst R73 <- [0] int_conv_to_u1 R41 <- R73 il_seq_point il: 0x40 i8const R48 <- [0] call_handler [B3] clobbers: c compare_imm R48 [0] long_beq [T:B26 F:B27] BEFORE SAFEPOINTS 27: [IN: BB9(25), OUT: BB26(26) ] voidcall [ves_icall_thread_finish_async_abort] clobbers: c BEFORE SAFEPOINTS 26: [IN: BB9(25) BB27(27), OUT: BB10(15) ] br [B10] BEFORE SAFEPOINTS 8: [IN: BB24(5), OUT: BB11(7) BB12(20) ] il_seq_point intr il: 0x45 load_membase R76 <- [R35 + 0x30] move R78 <- R76 check_this [R76 + 0x0] call R77 <- [bool System.Collections.Generic.Deque`1>:get_IsEmpty ()] [r0 <- R78] clobbers: c int_conv_to_u1 R79 <- R77 il_seq_point il: 0x50, nonempty-stack int_conv_to_u1 R42 <- R79 il_seq_point il: 0x52 move R81 <- R42 icompare_imm R81 [0] int_beq [T:B11 F:B12] BEFORE SAFEPOINTS 12: [IN: BB8(6), OUT: BB13(21) BB14(22) ] il_seq_point intr il: 0x56 il_seq_point il: 0x57 loadv_membase R43 <- R35 il_seq_point il: 0x5f ldaddr R86 <- R43 move R87 <- R34 voidcall [void System.Threading.Channels.Channel/UnboundedChannelConcurrentQueue`1:Enqueue (int)] [r0 <- R86] [r1 <- R87] clobbers: c il_seq_point il: 0x6d, nonempty-stack il_seq_point il: 0x6d il_seq_point il: 0x6e load_membase R37 <- [R35 + 0x38] il_seq_point il: 0x75 move R90 <- R37 lcompare_imm R90 long_ceq R92 <- int_conv_to_u1 R44 <- R92 il_seq_point il: 0x7b move R94 <- R44 icompare_imm R94 [0] int_beq [T:B13 F:B14] BEFORE SAFEPOINTS 14: [IN: BB12(20), OUT: BB3(9) BB28(23) BB29(24) ] il_seq_point intr il: 0x7f il_seq_point il: 0x80 iconst R95 <- [1] int_conv_to_u1 R41 <- R95 il_seq_point il: 0x83 i8const R48 <- [0] call_handler [B3] clobbers: c compare_imm R48 [0] long_beq [T:B28 F:B29] BEFORE SAFEPOINTS 29: [IN: BB14(22), OUT: BB28(23) ] voidcall [ves_icall_thread_finish_async_abort] clobbers: c BEFORE SAFEPOINTS 28: [IN: BB14(22) BB29(24), OUT: BB10(15) ] br [B10] BEFORE SAFEPOINTS 13: [IN: BB12(20), OUT: BB15(8) ] il_seq_point intr il: 0x85 store_membase_imm [R35 + 0x38] <- [0] il_seq_point il: 0x8c il_seq_point il: 0x8d br [B15] BEFORE SAFEPOINTS 11: [IN: BB8(6), OUT: BB15(8) ] il_seq_point intr il: 0x8f il_seq_point il: 0x90 load_membase R100 <- [R35 + 0x30] move R102 <- R100 check_this [R100 + 0x0] call R36 <- [System.Threading.Channels.AsyncOperation`1 System.Collections.Generic.Deque`1>:DequeueHead ()] [r0 <- R102] clobbers: c il_seq_point il: 0x9b, nonempty-stack il_seq_point il: 0x9c BEFORE SAFEPOINTS 15: [IN: BB13(21) BB11(7), OUT: BB3(9) BB30(12) BB31(19) ] il_seq_point intr il: 0x9d il_seq_point il: 0x9e i8const R48 <- [0] call_handler [B3] clobbers: c compare_imm R48 [0] long_beq [T:B30 F:B31] BEFORE SAFEPOINTS 31: [IN: BB15(8), OUT: BB30(12) ] voidcall [ves_icall_thread_finish_async_abort] clobbers: c BEFORE SAFEPOINTS 30: [IN: BB15(8) BB31(19), OUT: BB16(13) ] br [B16] BEFORE SAFEPOINTS 3: [IN: BB9(25) BB14(22) BB15(8), OUT: BB17(10) BB18(11) ] start_handler il_seq_point il: 0xa0 move R103 <- R39 icompare_imm R103 [0] int_beq [T:B17 F:B18] BEFORE SAFEPOINTS 18: [IN: BB3(9), OUT: BB17(10) ] il_seq_point intr il: 0xa4 move R105 <- R38 voidcall [void System.Threading.Monitor:Exit (object)] [r0 <- R105] clobbers: c il_seq_point il: 0xaa, nonempty-stack il_seq_point il: 0xaa BEFORE SAFEPOINTS 17: [IN: BB3(9) BB18(11), OUT: ] il_seq_point intr il: 0xab endfinally BEFORE SAFEPOINTS 16: [IN: BB30(12), OUT: BB19(14) BB20(17) ] il_seq_point intr il: 0xac lcompare_imm R36 long_cgt_un R108 <- int_conv_to_u1 R45 <- R108 il_seq_point il: 0xb2 move R110 <- R45 icompare_imm R110 [0] int_beq [T:B19 F:B20] BEFORE SAFEPOINTS 20: [IN: BB16(13), OUT: BB22(18) BB6(2) ] il_seq_point intr il: 0xb6 il_seq_point il: 0xb7 move R114 <- R36 move R115 <- R34 check_this [R36 + 0x0] call R113 <- [bool System.Threading.Channels.AsyncOperation`1:TrySetResult (int)] [r0 <- R114] [r1 <- R115] clobbers: c int_conv_to_u1 R116 <- R113 il_seq_point il: 0xbe, nonempty-stack int_conv_to_u1 R46 <- R116 il_seq_point il: 0xc0 move R118 <- R46 icompare_imm R118 [0] int_beq [T:B6 F:B22] BEFORE SAFEPOINTS 22: [IN: BB20(17), OUT: BB10(15) ] il_seq_point intr il: 0xc4 il_seq_point il: 0xc5 iconst R119 <- [1] int_conv_to_u1 R41 <- R119 il_seq_point il: 0xc8 br [B10] BEFORE SAFEPOINTS 19: [IN: BB16(13), OUT: BB10(15) ] il_seq_point intr il: 0xcd il_seq_point il: 0xce ldaddr R124 <- R37 iconst R125 <- [1] i8const R126 <- [0] voidcall [void System.Threading.Channels.ChannelUtilities:WakeUpWaiters (System.Threading.Channels.AsyncOperation`1&,bool,System.Exception)] [r0 <- R124] [r1 <- R125] [r2 <- R126] clobbers: c il_seq_point il: 0xd7, nonempty-stack il_seq_point il: 0xd7 il_seq_point il: 0xd8 iconst R127 <- [1] int_conv_to_u1 R41 <- R127 il_seq_point il: 0xdb br [B10] BEFORE SAFEPOINTS 6: [IN: BB4(1) BB20(17), OUT: BB7(3) ] il_seq_point intr il: 0xde iconst R129 <- [1] int_conv_to_u1 R47 <- R129 il_seq_point il: 0xe1 br [B7] BEFORE SAFEPOINTS 10: [IN: BB26(26) BB28(23) BB22(18) BB19(14), OUT: BB1(16) ] il_seq_point intr il: 0xe6 il_seq_point intr il: 0xe8 move R32 <- R41 BEFORE SAFEPOINTS 1: [IN: BB10(15), OUT: ] ADDING SAFE POINT TO BB 7 ADDING SAFE POINT TO BB 3 ADDING SAFE POINT TO BB 0 AFTER SAFEPOINTS 0: [IN: , OUT: BB4(1) ] i8const R136 <- [4315302144] gc_safe_point R136 clobbers: c AFTER SAFEPOINTS 4: [IN: BB0(0), OUT: BB6(2) ] i8const R36 <- [0] i8const R37 <- [0] i8const R38 <- [0] iconst R39 <- [0] iconst R40 <- [0] iconst R41 <- [0] iconst R42 <- [0] vzero R43 <- iconst R44 <- [0] iconst R45 <- [0] iconst R46 <- [0] iconst R47 <- [0] il_seq_point intr il: 0x0 il_seq_point il: 0x1 load_membase R35 <- [R33 + 0x10] il_seq_point il: 0x8 br [B6] AFTER SAFEPOINTS 7: [IN: BB6(2), OUT: BB2(4) ] i8const R134 <- [4315302144] gc_safe_point R134 clobbers: c il_seq_point intr il: 0xd il_seq_point il: 0xe i8const R36 <- [0] il_seq_point il: 0x10 i8const R37 <- [0] il_seq_point il: 0x12 move R55 <- R35 check_this [R35 + 0x0] call R38 <- [object System.Threading.Channels.UnboundedChannel`2>:get_SyncObj ()] [r0 <- R55] clobbers: c il_seq_point il: 0x18, nonempty-stack il_seq_point il: 0x19 iconst R56 <- [0] int_conv_to_u1 R39 <- R56 AFTER SAFEPOINTS 2: [IN: BB7(3), OUT: BB24(5) BB25(28) ] il_seq_point intr il: 0x1c move R58 <- R38 ldaddr R59 <- R39 move R61 <- R58 ldaddr R62 <- R39 call R60 <- [mono_monitor_enter_v4_fast] [r0 <- R61] [r1 <- R62] clobbers: c icompare_imm R60 [0] int_bne_un [T:B24 F:B25] AFTER SAFEPOINTS 25: [IN: BB2(4), OUT: BB24(5) ] move R63 <- R58 move R64 <- R59 voidcall [mono_monitor_enter_v4_internal] [r0 <- R63] [r1 <- R64] clobbers: c AFTER SAFEPOINTS 24: [IN: BB2(4) BB25(28), OUT: BB8(6) BB9(25) ] il_seq_point il: 0x24, nonempty-stack il_seq_point il: 0x24 il_seq_point il: 0x25 il_seq_point il: 0x26 move R66 <- R35 check_this [R35 + 0x0] voidcall [void System.Threading.Channels.UnboundedChannel`2>:AssertInvariants ()] [r0 <- R66] clobbers: c il_seq_point il: 0x2c, nonempty-stack il_seq_point il: 0x2c il_seq_point il: 0x2d load_membase R68 <- [R35 + 0x40] lcompare_imm R68 long_cgt_un R70 <- int_conv_to_u1 R40 <- R70 il_seq_point il: 0x38 move R72 <- R40 icompare_imm R72 [0] int_beq [T:B8 F:B9] AFTER SAFEPOINTS 9: [IN: BB24(5), OUT: BB3(9) BB26(26) BB27(27) ] il_seq_point intr il: 0x3c il_seq_point il: 0x3d iconst R73 <- [0] int_conv_to_u1 R41 <- R73 il_seq_point il: 0x40 i8const R48 <- [0] call_handler [B3] clobbers: c compare_imm R48 [0] long_beq [T:B26 F:B27] AFTER SAFEPOINTS 27: [IN: BB9(25), OUT: BB26(26) ] voidcall [ves_icall_thread_finish_async_abort] clobbers: c AFTER SAFEPOINTS 26: [IN: BB9(25) BB27(27), OUT: BB10(15) ] br [B10] AFTER SAFEPOINTS 8: [IN: BB24(5), OUT: BB11(7) BB12(20) ] il_seq_point intr il: 0x45 load_membase R76 <- [R35 + 0x30] move R78 <- R76 check_this [R76 + 0x0] call R77 <- [bool System.Collections.Generic.Deque`1>:get_IsEmpty ()] [r0 <- R78] clobbers: c int_conv_to_u1 R79 <- R77 il_seq_point il: 0x50, nonempty-stack int_conv_to_u1 R42 <- R79 il_seq_point il: 0x52 move R81 <- R42 icompare_imm R81 [0] int_beq [T:B11 F:B12] AFTER SAFEPOINTS 12: [IN: BB8(6), OUT: BB13(21) BB14(22) ] il_seq_point intr il: 0x56 il_seq_point il: 0x57 loadv_membase R43 <- R35 il_seq_point il: 0x5f ldaddr R86 <- R43 move R87 <- R34 voidcall [void System.Threading.Channels.Channel/UnboundedChannelConcurrentQueue`1:Enqueue (int)] [r0 <- R86] [r1 <- R87] clobbers: c il_seq_point il: 0x6d, nonempty-stack il_seq_point il: 0x6d il_seq_point il: 0x6e load_membase R37 <- [R35 + 0x38] il_seq_point il: 0x75 move R90 <- R37 lcompare_imm R90 long_ceq R92 <- int_conv_to_u1 R44 <- R92 il_seq_point il: 0x7b move R94 <- R44 icompare_imm R94 [0] int_beq [T:B13 F:B14] AFTER SAFEPOINTS 14: [IN: BB12(20), OUT: BB3(9) BB28(23) BB29(24) ] il_seq_point intr il: 0x7f il_seq_point il: 0x80 iconst R95 <- [1] int_conv_to_u1 R41 <- R95 il_seq_point il: 0x83 i8const R48 <- [0] call_handler [B3] clobbers: c compare_imm R48 [0] long_beq [T:B28 F:B29] AFTER SAFEPOINTS 29: [IN: BB14(22), OUT: BB28(23) ] voidcall [ves_icall_thread_finish_async_abort] clobbers: c AFTER SAFEPOINTS 28: [IN: BB14(22) BB29(24), OUT: BB10(15) ] br [B10] AFTER SAFEPOINTS 13: [IN: BB12(20), OUT: BB15(8) ] il_seq_point intr il: 0x85 store_membase_imm [R35 + 0x38] <- [0] il_seq_point il: 0x8c il_seq_point il: 0x8d br [B15] AFTER SAFEPOINTS 11: [IN: BB8(6), OUT: BB15(8) ] il_seq_point intr il: 0x8f il_seq_point il: 0x90 load_membase R100 <- [R35 + 0x30] move R102 <- R100 check_this [R100 + 0x0] call R36 <- [System.Threading.Channels.AsyncOperation`1 System.Collections.Generic.Deque`1>:DequeueHead ()] [r0 <- R102] clobbers: c il_seq_point il: 0x9b, nonempty-stack il_seq_point il: 0x9c AFTER SAFEPOINTS 15: [IN: BB13(21) BB11(7), OUT: BB3(9) BB30(12) BB31(19) ] il_seq_point intr il: 0x9d il_seq_point il: 0x9e i8const R48 <- [0] call_handler [B3] clobbers: c compare_imm R48 [0] long_beq [T:B30 F:B31] AFTER SAFEPOINTS 31: [IN: BB15(8), OUT: BB30(12) ] voidcall [ves_icall_thread_finish_async_abort] clobbers: c AFTER SAFEPOINTS 30: [IN: BB15(8) BB31(19), OUT: BB16(13) ] br [B16] AFTER SAFEPOINTS 3: [IN: BB9(25) BB14(22) BB15(8), OUT: BB17(10) BB18(11) ] start_handler i8const R135 <- [4315302144] gc_safe_point R135 clobbers: c il_seq_point il: 0xa0 move R103 <- R39 icompare_imm R103 [0] int_beq [T:B17 F:B18] AFTER SAFEPOINTS 18: [IN: BB3(9), OUT: BB17(10) ] il_seq_point intr il: 0xa4 move R105 <- R38 voidcall [void System.Threading.Monitor:Exit (object)] [r0 <- R105] clobbers: c il_seq_point il: 0xaa, nonempty-stack il_seq_point il: 0xaa AFTER SAFEPOINTS 17: [IN: BB3(9) BB18(11), OUT: ] il_seq_point intr il: 0xab endfinally AFTER SAFEPOINTS 16: [IN: BB30(12), OUT: BB19(14) BB20(17) ] il_seq_point intr il: 0xac lcompare_imm R36 long_cgt_un R108 <- int_conv_to_u1 R45 <- R108 il_seq_point il: 0xb2 move R110 <- R45 icompare_imm R110 [0] int_beq [T:B19 F:B20] AFTER SAFEPOINTS 20: [IN: BB16(13), OUT: BB22(18) BB6(2) ] il_seq_point intr il: 0xb6 il_seq_point il: 0xb7 move R114 <- R36 move R115 <- R34 check_this [R36 + 0x0] call R113 <- [bool System.Threading.Channels.AsyncOperation`1:TrySetResult (int)] [r0 <- R114] [r1 <- R115] clobbers: c int_conv_to_u1 R116 <- R113 il_seq_point il: 0xbe, nonempty-stack int_conv_to_u1 R46 <- R116 il_seq_point il: 0xc0 move R118 <- R46 icompare_imm R118 [0] int_beq [T:B6 F:B22] AFTER SAFEPOINTS 22: [IN: BB20(17), OUT: BB10(15) ] il_seq_point intr il: 0xc4 il_seq_point il: 0xc5 iconst R119 <- [1] int_conv_to_u1 R41 <- R119 il_seq_point il: 0xc8 br [B10] AFTER SAFEPOINTS 19: [IN: BB16(13), OUT: BB10(15) ] il_seq_point intr il: 0xcd il_seq_point il: 0xce ldaddr R124 <- R37 iconst R125 <- [1] i8const R126 <- [0] voidcall [void System.Threading.Channels.ChannelUtilities:WakeUpWaiters (System.Threading.Channels.AsyncOperation`1&,bool,System.Exception)] [r0 <- R124] [r1 <- R125] [r2 <- R126] clobbers: c il_seq_point il: 0xd7, nonempty-stack il_seq_point il: 0xd7 il_seq_point il: 0xd8 iconst R127 <- [1] int_conv_to_u1 R41 <- R127 il_seq_point il: 0xdb br [B10] AFTER SAFEPOINTS 6: [IN: BB4(1) BB20(17), OUT: BB7(3) ] il_seq_point intr il: 0xde iconst R129 <- [1] int_conv_to_u1 R47 <- R129 il_seq_point il: 0xe1 br [B7] AFTER SAFEPOINTS 10: [IN: BB26(26) BB28(23) BB22(18) BB19(14), OUT: BB1(16) ] il_seq_point intr il: 0xe6 il_seq_point intr il: 0xe8 move R32 <- R41 AFTER SAFEPOINTS 1: [IN: BB10(15), OUT: ] BEFORE LOWER-VTYPE-OPTS 0: [IN: , OUT: BB4(1) ] i8const R136 <- [4315302144] gc_safe_point R136 clobbers: c AFTER LOWER-VTYPE-OPTS 0: [IN: , OUT: BB4(1) ] i8const R136 <- [4315302144] gc_safe_point R136 clobbers: c BEFORE LOWER-VTYPE-OPTS 4: [IN: BB0(0), OUT: BB6(2) ] i8const R36 <- [0] i8const R37 <- [0] i8const R38 <- [0] iconst R39 <- [0] iconst R40 <- [0] iconst R41 <- [0] iconst R42 <- [0] vzero R43 <- iconst R44 <- [0] iconst R45 <- [0] iconst R46 <- [0] iconst R47 <- [0] il_seq_point intr il: 0x0 il_seq_point il: 0x1 load_membase R35 <- [R33 + 0x10] il_seq_point il: 0x8 br [B6] AFTER LOWER-VTYPE-OPTS 4: [IN: BB0(0), OUT: BB6(2) ] i8const R36 <- [0] i8const R37 <- [0] i8const R38 <- [0] iconst R39 <- [0] iconst R40 <- [0] iconst R41 <- [0] iconst R42 <- [0] ldaddr R137 <- R43 storei8_membase_imm [R137] <- iconst R44 <- [0] iconst R45 <- [0] iconst R46 <- [0] iconst R47 <- [0] il_seq_point intr il: 0x0 il_seq_point il: 0x1 load_membase R35 <- [R33 + 0x10] il_seq_point il: 0x8 br [B6] BEFORE LOWER-VTYPE-OPTS 7: [IN: BB6(2), OUT: BB2(4) ] i8const R134 <- [4315302144] gc_safe_point R134 clobbers: c il_seq_point intr il: 0xd il_seq_point il: 0xe i8const R36 <- [0] il_seq_point il: 0x10 i8const R37 <- [0] il_seq_point il: 0x12 move R55 <- R35 check_this [R35 + 0x0] call R38 <- [object System.Threading.Channels.UnboundedChannel`2>:get_SyncObj ()] [r0 <- R55] clobbers: c il_seq_point il: 0x18, nonempty-stack il_seq_point il: 0x19 iconst R56 <- [0] int_conv_to_u1 R39 <- R56 AFTER LOWER-VTYPE-OPTS 7: [IN: BB6(2), OUT: BB2(4) ] i8const R134 <- [4315302144] gc_safe_point R134 clobbers: c il_seq_point intr il: 0xd il_seq_point il: 0xe i8const R36 <- [0] il_seq_point il: 0x10 i8const R37 <- [0] il_seq_point il: 0x12 move R55 <- R35 check_this [R35 + 0x0] call R38 <- [object System.Threading.Channels.UnboundedChannel`2>:get_SyncObj ()] [r0 <- R55] clobbers: c il_seq_point il: 0x18, nonempty-stack il_seq_point il: 0x19 iconst R56 <- [0] int_conv_to_u1 R39 <- R56 BEFORE LOWER-VTYPE-OPTS 2: [IN: BB7(3), OUT: BB24(5) BB25(28) ] il_seq_point intr il: 0x1c move R58 <- R38 ldaddr R59 <- R39 move R61 <- R58 ldaddr R62 <- R39 call R60 <- [mono_monitor_enter_v4_fast] [r0 <- R61] [r1 <- R62] clobbers: c icompare_imm R60 [0] int_bne_un [T:B24 F:B25] AFTER LOWER-VTYPE-OPTS 2: [IN: BB7(3), OUT: BB24(5) BB25(28) ] il_seq_point intr il: 0x1c move R58 <- R38 ldaddr R59 <- R39 move R61 <- R58 ldaddr R62 <- R39 call R60 <- [mono_monitor_enter_v4_fast] [r0 <- R61] [r1 <- R62] clobbers: c icompare_imm R60 [0] int_bne_un [T:B24 F:B25] BEFORE LOWER-VTYPE-OPTS 25: [IN: BB2(4), OUT: BB24(5) ] move R63 <- R58 move R64 <- R59 voidcall [mono_monitor_enter_v4_internal] [r0 <- R63] [r1 <- R64] clobbers: c AFTER LOWER-VTYPE-OPTS 25: [IN: BB2(4), OUT: BB24(5) ] move R63 <- R58 move R64 <- R59 voidcall [mono_monitor_enter_v4_internal] [r0 <- R63] [r1 <- R64] clobbers: c BEFORE LOWER-VTYPE-OPTS 24: [IN: BB2(4) BB25(28), OUT: BB8(6) BB9(25) ] il_seq_point il: 0x24, nonempty-stack il_seq_point il: 0x24 il_seq_point il: 0x25 il_seq_point il: 0x26 move R66 <- R35 check_this [R35 + 0x0] voidcall [void System.Threading.Channels.UnboundedChannel`2>:AssertInvariants ()] [r0 <- R66] clobbers: c il_seq_point il: 0x2c, nonempty-stack il_seq_point il: 0x2c il_seq_point il: 0x2d load_membase R68 <- [R35 + 0x40] lcompare_imm R68 long_cgt_un R70 <- int_conv_to_u1 R40 <- R70 il_seq_point il: 0x38 move R72 <- R40 icompare_imm R72 [0] int_beq [T:B8 F:B9] AFTER LOWER-VTYPE-OPTS 24: [IN: BB2(4) BB25(28), OUT: BB8(6) BB9(25) ] il_seq_point il: 0x24, nonempty-stack il_seq_point il: 0x24 il_seq_point il: 0x25 il_seq_point il: 0x26 move R66 <- R35 check_this [R35 + 0x0] voidcall [void System.Threading.Channels.UnboundedChannel`2>:AssertInvariants ()] [r0 <- R66] clobbers: c il_seq_point il: 0x2c, nonempty-stack il_seq_point il: 0x2c il_seq_point il: 0x2d load_membase R68 <- [R35 + 0x40] lcompare_imm R68 long_cgt_un R70 <- int_conv_to_u1 R40 <- R70 il_seq_point il: 0x38 move R72 <- R40 icompare_imm R72 [0] int_beq [T:B8 F:B9] BEFORE LOWER-VTYPE-OPTS 9: [IN: BB24(5), OUT: BB3(9) BB26(26) BB27(27) ] il_seq_point intr il: 0x3c il_seq_point il: 0x3d iconst R73 <- [0] int_conv_to_u1 R41 <- R73 il_seq_point il: 0x40 i8const R48 <- [0] call_handler [B3] clobbers: c compare_imm R48 [0] long_beq [T:B26 F:B27] AFTER LOWER-VTYPE-OPTS 9: [IN: BB24(5), OUT: BB3(9) BB26(26) BB27(27) ] il_seq_point intr il: 0x3c il_seq_point il: 0x3d iconst R73 <- [0] int_conv_to_u1 R41 <- R73 il_seq_point il: 0x40 i8const R48 <- [0] call_handler [B3] clobbers: c compare_imm R48 [0] long_beq [T:B26 F:B27] BEFORE LOWER-VTYPE-OPTS 27: [IN: BB9(25), OUT: BB26(26) ] voidcall [ves_icall_thread_finish_async_abort] clobbers: c AFTER LOWER-VTYPE-OPTS 27: [IN: BB9(25), OUT: BB26(26) ] voidcall [ves_icall_thread_finish_async_abort] clobbers: c BEFORE LOWER-VTYPE-OPTS 26: [IN: BB9(25) BB27(27), OUT: BB10(15) ] br [B10] AFTER LOWER-VTYPE-OPTS 26: [IN: BB9(25) BB27(27), OUT: BB10(15) ] br [B10] BEFORE LOWER-VTYPE-OPTS 8: [IN: BB24(5), OUT: BB11(7) BB12(20) ] il_seq_point intr il: 0x45 load_membase R76 <- [R35 + 0x30] move R78 <- R76 check_this [R76 + 0x0] call R77 <- [bool System.Collections.Generic.Deque`1>:get_IsEmpty ()] [r0 <- R78] clobbers: c int_conv_to_u1 R79 <- R77 il_seq_point il: 0x50, nonempty-stack int_conv_to_u1 R42 <- R79 il_seq_point il: 0x52 move R81 <- R42 icompare_imm R81 [0] int_beq [T:B11 F:B12] AFTER LOWER-VTYPE-OPTS 8: [IN: BB24(5), OUT: BB11(7) BB12(20) ] il_seq_point intr il: 0x45 load_membase R76 <- [R35 + 0x30] move R78 <- R76 check_this [R76 + 0x0] call R77 <- [bool System.Collections.Generic.Deque`1>:get_IsEmpty ()] [r0 <- R78] clobbers: c int_conv_to_u1 R79 <- R77 il_seq_point il: 0x50, nonempty-stack int_conv_to_u1 R42 <- R79 il_seq_point il: 0x52 move R81 <- R42 icompare_imm R81 [0] int_beq [T:B11 F:B12] BEFORE LOWER-VTYPE-OPTS 12: [IN: BB8(6), OUT: BB13(21) BB14(22) ] il_seq_point intr il: 0x56 il_seq_point il: 0x57 loadv_membase R43 <- R35 il_seq_point il: 0x5f ldaddr R86 <- R43 move R87 <- R34 voidcall [void System.Threading.Channels.Channel/UnboundedChannelConcurrentQueue`1:Enqueue (int)] [r0 <- R86] [r1 <- R87] clobbers: c il_seq_point il: 0x6d, nonempty-stack il_seq_point il: 0x6d il_seq_point il: 0x6e load_membase R37 <- [R35 + 0x38] il_seq_point il: 0x75 move R90 <- R37 lcompare_imm R90 long_ceq R92 <- int_conv_to_u1 R44 <- R92 il_seq_point il: 0x7b move R94 <- R44 icompare_imm R94 [0] int_beq [T:B13 F:B14] AFTER LOWER-VTYPE-OPTS 12: [IN: BB8(6), OUT: BB13(21) BB14(22) ] il_seq_point intr il: 0x56 il_seq_point il: 0x57 add_imm R138 <- R35 [40] ldaddr R139 <- R43 loadi8_membase R140 <- [R138 + 0x0] storei8_membase_reg [R139] <- R140 il_seq_point il: 0x5f ldaddr R86 <- R43 move R87 <- R34 voidcall [void System.Threading.Channels.Channel/UnboundedChannelConcurrentQueue`1:Enqueue (int)] [r0 <- R86] [r1 <- R87] clobbers: c il_seq_point il: 0x6d, nonempty-stack il_seq_point il: 0x6d il_seq_point il: 0x6e load_membase R37 <- [R35 + 0x38] il_seq_point il: 0x75 move R90 <- R37 lcompare_imm R90 long_ceq R92 <- int_conv_to_u1 R44 <- R92 il_seq_point il: 0x7b move R94 <- R44 icompare_imm R94 [0] int_beq [T:B13 F:B14] BEFORE LOWER-VTYPE-OPTS 14: [IN: BB12(20), OUT: BB3(9) BB28(23) BB29(24) ] il_seq_point intr il: 0x7f il_seq_point il: 0x80 iconst R95 <- [1] int_conv_to_u1 R41 <- R95 il_seq_point il: 0x83 i8const R48 <- [0] call_handler [B3] clobbers: c compare_imm R48 [0] long_beq [T:B28 F:B29] AFTER LOWER-VTYPE-OPTS 14: [IN: BB12(20), OUT: BB3(9) BB28(23) BB29(24) ] il_seq_point intr il: 0x7f il_seq_point il: 0x80 iconst R95 <- [1] int_conv_to_u1 R41 <- R95 il_seq_point il: 0x83 i8const R48 <- [0] call_handler [B3] clobbers: c compare_imm R48 [0] long_beq [T:B28 F:B29] BEFORE LOWER-VTYPE-OPTS 29: [IN: BB14(22), OUT: BB28(23) ] voidcall [ves_icall_thread_finish_async_abort] clobbers: c AFTER LOWER-VTYPE-OPTS 29: [IN: BB14(22), OUT: BB28(23) ] voidcall [ves_icall_thread_finish_async_abort] clobbers: c BEFORE LOWER-VTYPE-OPTS 28: [IN: BB14(22) BB29(24), OUT: BB10(15) ] br [B10] AFTER LOWER-VTYPE-OPTS 28: [IN: BB14(22) BB29(24), OUT: BB10(15) ] br [B10] BEFORE LOWER-VTYPE-OPTS 13: [IN: BB12(20), OUT: BB15(8) ] il_seq_point intr il: 0x85 store_membase_imm [R35 + 0x38] <- [0] il_seq_point il: 0x8c il_seq_point il: 0x8d br [B15] AFTER LOWER-VTYPE-OPTS 13: [IN: BB12(20), OUT: BB15(8) ] il_seq_point intr il: 0x85 store_membase_imm [R35 + 0x38] <- [0] il_seq_point il: 0x8c il_seq_point il: 0x8d br [B15] BEFORE LOWER-VTYPE-OPTS 11: [IN: BB8(6), OUT: BB15(8) ] il_seq_point intr il: 0x8f il_seq_point il: 0x90 load_membase R100 <- [R35 + 0x30] move R102 <- R100 check_this [R100 + 0x0] call R36 <- [System.Threading.Channels.AsyncOperation`1 System.Collections.Generic.Deque`1>:DequeueHead ()] [r0 <- R102] clobbers: c il_seq_point il: 0x9b, nonempty-stack il_seq_point il: 0x9c AFTER LOWER-VTYPE-OPTS 11: [IN: BB8(6), OUT: BB15(8) ] il_seq_point intr il: 0x8f il_seq_point il: 0x90 load_membase R100 <- [R35 + 0x30] move R102 <- R100 check_this [R100 + 0x0] call R36 <- [System.Threading.Channels.AsyncOperation`1 System.Collections.Generic.Deque`1>:DequeueHead ()] [r0 <- R102] clobbers: c il_seq_point il: 0x9b, nonempty-stack il_seq_point il: 0x9c BEFORE LOWER-VTYPE-OPTS 15: [IN: BB13(21) BB11(7), OUT: BB3(9) BB30(12) BB31(19) ] il_seq_point intr il: 0x9d il_seq_point il: 0x9e i8const R48 <- [0] call_handler [B3] clobbers: c compare_imm R48 [0] long_beq [T:B30 F:B31] AFTER LOWER-VTYPE-OPTS 15: [IN: BB13(21) BB11(7), OUT: BB3(9) BB30(12) BB31(19) ] il_seq_point intr il: 0x9d il_seq_point il: 0x9e i8const R48 <- [0] call_handler [B3] clobbers: c compare_imm R48 [0] long_beq [T:B30 F:B31] BEFORE LOWER-VTYPE-OPTS 31: [IN: BB15(8), OUT: BB30(12) ] voidcall [ves_icall_thread_finish_async_abort] clobbers: c AFTER LOWER-VTYPE-OPTS 31: [IN: BB15(8), OUT: BB30(12) ] voidcall [ves_icall_thread_finish_async_abort] clobbers: c BEFORE LOWER-VTYPE-OPTS 30: [IN: BB15(8) BB31(19), OUT: BB16(13) ] br [B16] AFTER LOWER-VTYPE-OPTS 30: [IN: BB15(8) BB31(19), OUT: BB16(13) ] br [B16] BEFORE LOWER-VTYPE-OPTS 3: [IN: BB9(25) BB14(22) BB15(8), OUT: BB17(10) BB18(11) ] start_handler i8const R135 <- [4315302144] gc_safe_point R135 clobbers: c il_seq_point il: 0xa0 move R103 <- R39 icompare_imm R103 [0] int_beq [T:B17 F:B18] AFTER LOWER-VTYPE-OPTS 3: [IN: BB9(25) BB14(22) BB15(8), OUT: BB17(10) BB18(11) ] start_handler i8const R135 <- [4315302144] gc_safe_point R135 clobbers: c il_seq_point il: 0xa0 move R103 <- R39 icompare_imm R103 [0] int_beq [T:B17 F:B18] BEFORE LOWER-VTYPE-OPTS 18: [IN: BB3(9), OUT: BB17(10) ] il_seq_point intr il: 0xa4 move R105 <- R38 voidcall [void System.Threading.Monitor:Exit (object)] [r0 <- R105] clobbers: c il_seq_point il: 0xaa, nonempty-stack il_seq_point il: 0xaa AFTER LOWER-VTYPE-OPTS 18: [IN: BB3(9), OUT: BB17(10) ] il_seq_point intr il: 0xa4 move R105 <- R38 voidcall [void System.Threading.Monitor:Exit (object)] [r0 <- R105] clobbers: c il_seq_point il: 0xaa, nonempty-stack il_seq_point il: 0xaa BEFORE LOWER-VTYPE-OPTS 17: [IN: BB3(9) BB18(11), OUT: ] il_seq_point intr il: 0xab endfinally AFTER LOWER-VTYPE-OPTS 17: [IN: BB3(9) BB18(11), OUT: ] il_seq_point intr il: 0xab endfinally BEFORE LOWER-VTYPE-OPTS 16: [IN: BB30(12), OUT: BB19(14) BB20(17) ] il_seq_point intr il: 0xac lcompare_imm R36 long_cgt_un R108 <- int_conv_to_u1 R45 <- R108 il_seq_point il: 0xb2 move R110 <- R45 icompare_imm R110 [0] int_beq [T:B19 F:B20] AFTER LOWER-VTYPE-OPTS 16: [IN: BB30(12), OUT: BB19(14) BB20(17) ] il_seq_point intr il: 0xac lcompare_imm R36 long_cgt_un R108 <- int_conv_to_u1 R45 <- R108 il_seq_point il: 0xb2 move R110 <- R45 icompare_imm R110 [0] int_beq [T:B19 F:B20] BEFORE LOWER-VTYPE-OPTS 20: [IN: BB16(13), OUT: BB22(18) BB6(2) ] il_seq_point intr il: 0xb6 il_seq_point il: 0xb7 move R114 <- R36 move R115 <- R34 check_this [R36 + 0x0] call R113 <- [bool System.Threading.Channels.AsyncOperation`1:TrySetResult (int)] [r0 <- R114] [r1 <- R115] clobbers: c int_conv_to_u1 R116 <- R113 il_seq_point il: 0xbe, nonempty-stack int_conv_to_u1 R46 <- R116 il_seq_point il: 0xc0 move R118 <- R46 icompare_imm R118 [0] int_beq [T:B6 F:B22] AFTER LOWER-VTYPE-OPTS 20: [IN: BB16(13), OUT: BB22(18) BB6(2) ] il_seq_point intr il: 0xb6 il_seq_point il: 0xb7 move R114 <- R36 move R115 <- R34 check_this [R36 + 0x0] call R113 <- [bool System.Threading.Channels.AsyncOperation`1:TrySetResult (int)] [r0 <- R114] [r1 <- R115] clobbers: c int_conv_to_u1 R116 <- R113 il_seq_point il: 0xbe, nonempty-stack int_conv_to_u1 R46 <- R116 il_seq_point il: 0xc0 move R118 <- R46 icompare_imm R118 [0] int_beq [T:B6 F:B22] BEFORE LOWER-VTYPE-OPTS 22: [IN: BB20(17), OUT: BB10(15) ] il_seq_point intr il: 0xc4 il_seq_point il: 0xc5 iconst R119 <- [1] int_conv_to_u1 R41 <- R119 il_seq_point il: 0xc8 br [B10] AFTER LOWER-VTYPE-OPTS 22: [IN: BB20(17), OUT: BB10(15) ] il_seq_point intr il: 0xc4 il_seq_point il: 0xc5 iconst R119 <- [1] int_conv_to_u1 R41 <- R119 il_seq_point il: 0xc8 br [B10] BEFORE LOWER-VTYPE-OPTS 19: [IN: BB16(13), OUT: BB10(15) ] il_seq_point intr il: 0xcd il_seq_point il: 0xce ldaddr R124 <- R37 iconst R125 <- [1] i8const R126 <- [0] voidcall [void System.Threading.Channels.ChannelUtilities:WakeUpWaiters (System.Threading.Channels.AsyncOperation`1&,bool,System.Exception)] [r0 <- R124] [r1 <- R125] [r2 <- R126] clobbers: c il_seq_point il: 0xd7, nonempty-stack il_seq_point il: 0xd7 il_seq_point il: 0xd8 iconst R127 <- [1] int_conv_to_u1 R41 <- R127 il_seq_point il: 0xdb br [B10] AFTER LOWER-VTYPE-OPTS 19: [IN: BB16(13), OUT: BB10(15) ] il_seq_point intr il: 0xcd il_seq_point il: 0xce ldaddr R124 <- R37 iconst R125 <- [1] i8const R126 <- [0] voidcall [void System.Threading.Channels.ChannelUtilities:WakeUpWaiters (System.Threading.Channels.AsyncOperation`1&,bool,System.Exception)] [r0 <- R124] [r1 <- R125] [r2 <- R126] clobbers: c il_seq_point il: 0xd7, nonempty-stack il_seq_point il: 0xd7 il_seq_point il: 0xd8 iconst R127 <- [1] int_conv_to_u1 R41 <- R127 il_seq_point il: 0xdb br [B10] BEFORE LOWER-VTYPE-OPTS 6: [IN: BB4(1) BB20(17), OUT: BB7(3) ] il_seq_point intr il: 0xde iconst R129 <- [1] int_conv_to_u1 R47 <- R129 il_seq_point il: 0xe1 br [B7] AFTER LOWER-VTYPE-OPTS 6: [IN: BB4(1) BB20(17), OUT: BB7(3) ] il_seq_point intr il: 0xde iconst R129 <- [1] int_conv_to_u1 R47 <- R129 il_seq_point il: 0xe1 br [B7] BEFORE LOWER-VTYPE-OPTS 10: [IN: BB26(26) BB28(23) BB22(18) BB19(14), OUT: BB1(16) ] il_seq_point intr il: 0xe6 il_seq_point intr il: 0xe8 move R32 <- R41 AFTER LOWER-VTYPE-OPTS 10: [IN: BB26(26) BB28(23) BB22(18) BB19(14), OUT: BB1(16) ] il_seq_point intr il: 0xe6 il_seq_point intr il: 0xe8 move R32 <- R41 BEFORE LOWER-VTYPE-OPTS 1: [IN: BB10(15), OUT: ] AFTER LOWER-VTYPE-OPTS 1: [IN: BB10(15), OUT: ] pessimize variables in bb 3. pessimize variables in bb 18. pessimize variables in bb 17. LIVENESS: BLOCK BB0 (BB4, ): 1 i8const R136 <- [4315302144] 1 gc_safe_point R136 clobbers: c GEN BB0: {} KILL BB0: {} BLOCK BB4 (BB6, ): 1 i8const R36 <- [0] KILL: R36(4) 1 i8const R37 <- [0] KILL: R37(5) 1 i8const R38 <- [0] KILL: R38(6) 1 iconst R39 <- [0] KILL: R39(7) 1 iconst R40 <- [0] KILL: R40(8) 1 iconst R41 <- [0] KILL: R41(9) 1 iconst R42 <- [0] KILL: R42(10) 1 ldaddr R137 <- R43 GEN: R43(11) 1 storei8_membase_imm [R137] <- 1 iconst R44 <- [0] KILL: R44(12) 1 iconst R45 <- [0] KILL: R45(13) 1 iconst R46 <- [0] KILL: R46(14) 1 iconst R47 <- [0] KILL: R47(15) 1 il_seq_point intr il: 0x0 1 il_seq_point il: 0x1 1 load_membase R35 <- [R33 + 0x10] GEN: R33(1) KILL: R35(3) 1 il_seq_point il: 0x8 1 br [B6] GEN BB4: {1, 11} KILL BB4: {3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15} BLOCK BB6 (BB7, ): 1 il_seq_point intr il: 0xde 1 iconst R129 <- [1] 1 int_conv_to_u1 R47 <- R129 KILL: R47(15) 1 il_seq_point il: 0xe1 1 br [B7] GEN BB6: {} KILL BB6: {15} BLOCK BB7 (BB2, ): 1 i8const R134 <- [4315302144] 1 gc_safe_point R134 clobbers: c 1 il_seq_point intr il: 0xd 1 il_seq_point il: 0xe 1 i8const R36 <- [0] KILL: R36(4) 1 il_seq_point il: 0x10 1 i8const R37 <- [0] KILL: R37(5) 1 il_seq_point il: 0x12 1 move R55 <- R35 GEN: R35(3) 1 check_this [R35 + 0x0] GEN: R35(3) 1 call R38 <- [object System.Threading.Channels.UnboundedChannel`2>:get_SyncObj ()] [r0 <- R55] clobbers: c KILL: R38(6) 1 il_seq_point il: 0x18, nonempty-stack 1 il_seq_point il: 0x19 1 iconst R56 <- [0] 1 int_conv_to_u1 R39 <- R56 KILL: R39(7) GEN BB7: {3} KILL BB7: {4, 5, 6, 7} BLOCK BB2 (BB24, BB25, ): 1 il_seq_point intr il: 0x1c 1 move R58 <- R38 GEN: R38(6) KILL: R58(19) 1 ldaddr R59 <- R39 GEN: R39(7) KILL: R59(20) 1 move R61 <- R58 GEN: R58(19) 1 ldaddr R62 <- R39 GEN: R39(7) 1 call R60 <- [mono_monitor_enter_v4_fast] [r0 <- R61] [r1 <- R62] clobbers: c 1 icompare_imm R60 [0] 1 int_bne_un [T:B24 F:B25] GEN BB2: {6, 7} KILL BB2: {19, 20} BLOCK BB24 (BB8, BB9, ): 1 il_seq_point il: 0x24, nonempty-stack 1 il_seq_point il: 0x24 1 il_seq_point il: 0x25 1 il_seq_point il: 0x26 1 move R66 <- R35 GEN: R35(3) 1 check_this [R35 + 0x0] GEN: R35(3) 1 voidcall [void System.Threading.Channels.UnboundedChannel`2>:AssertInvariants ()] [r0 <- R66] clobbers: c 1 il_seq_point il: 0x2c, nonempty-stack 1 il_seq_point il: 0x2c 1 il_seq_point il: 0x2d 1 load_membase R68 <- [R35 + 0x40] GEN: R35(3) 1 lcompare_imm R68 1 long_cgt_un R70 <- 1 int_conv_to_u1 R40 <- R70 KILL: R40(8) 1 il_seq_point il: 0x38 1 move R72 <- R40 GEN: R40(8) 1 icompare_imm R72 [0] 1 int_beq [T:B8 F:B9] GEN BB24: {3} KILL BB24: {8} BLOCK BB8 (BB11, BB12, ): 1 il_seq_point intr il: 0x45 1 load_membase R76 <- [R35 + 0x30] GEN: R35(3) 1 move R78 <- R76 1 check_this [R76 + 0x0] 1 call R77 <- [bool System.Collections.Generic.Deque`1>:get_IsEmpty ()] [r0 <- R78] clobbers: c 1 int_conv_to_u1 R79 <- R77 1 il_seq_point il: 0x50, nonempty-stack 1 int_conv_to_u1 R42 <- R79 KILL: R42(10) 1 il_seq_point il: 0x52 1 move R81 <- R42 GEN: R42(10) 1 icompare_imm R81 [0] 1 int_beq [T:B11 F:B12] GEN BB8: {3} KILL BB8: {10} BLOCK BB11 (BB15, ): 1 il_seq_point intr il: 0x8f 1 il_seq_point il: 0x90 1 load_membase R100 <- [R35 + 0x30] GEN: R35(3) 1 move R102 <- R100 1 check_this [R100 + 0x0] 1 call R36 <- [System.Threading.Channels.AsyncOperation`1 System.Collections.Generic.Deque`1>:DequeueHead ()] [r0 <- R102] clobbers: c KILL: R36(4) 1 il_seq_point il: 0x9b, nonempty-stack 1 il_seq_point il: 0x9c GEN BB11: {3} KILL BB11: {4} BLOCK BB15 (BB3, BB30, BB31, ): 1 il_seq_point intr il: 0x9d 1 il_seq_point il: 0x9e 1 i8const R48 <- [0] KILL: R48(16) 1 call_handler [B3] clobbers: c 1 compare_imm R48 [0] GEN: R48(16) 1 long_beq [T:B30 F:B31] GEN BB15: {} KILL BB15: {16} BLOCK BB3 (BB17, BB18, ): 1 start_handler 1 i8const R135 <- [4315302144] 1 gc_safe_point R135 clobbers: c 1 il_seq_point il: 0xa0 1 move R103 <- R39 GEN: R39(7) 1 icompare_imm R103 [0] 1 int_beq [T:B17 F:B18] GEN BB3: {7} KILL BB3: {} BLOCK BB17 (): 1 il_seq_point intr il: 0xab 1 endfinally GEN BB17: {} KILL BB17: {} BLOCK BB18 (BB17, ): 1 il_seq_point intr il: 0xa4 1 move R105 <- R38 GEN: R38(6) 1 voidcall [void System.Threading.Monitor:Exit (object)] [r0 <- R105] clobbers: c 1 il_seq_point il: 0xaa, nonempty-stack 1 il_seq_point il: 0xaa GEN BB18: {6} KILL BB18: {} BLOCK BB30 (BB16, ): 1 br [B16] GEN BB30: {} KILL BB30: {} BLOCK BB16 (BB19, BB20, ): 1 il_seq_point intr il: 0xac 1 lcompare_imm R36 GEN: R36(4) 1 long_cgt_un R108 <- 1 int_conv_to_u1 R45 <- R108 KILL: R45(13) 1 il_seq_point il: 0xb2 1 move R110 <- R45 GEN: R45(13) 1 icompare_imm R110 [0] 1 int_beq [T:B19 F:B20] GEN BB16: {4} KILL BB16: {13} BLOCK BB19 (BB10, ): 1 il_seq_point intr il: 0xcd 1 il_seq_point il: 0xce 1 ldaddr R124 <- R37 GEN: R37(5) 1 iconst R125 <- [1] 1 i8const R126 <- [0] 1 voidcall [void System.Threading.Channels.ChannelUtilities:WakeUpWaiters (System.Threading.Channels.AsyncOperation`1&,bool,System.Exception)] [r0 <- R124] [r1 <- R125] [r2 <- R126] clobbers: c 1 il_seq_point il: 0xd7, nonempty-stack 1 il_seq_point il: 0xd7 1 il_seq_point il: 0xd8 1 iconst R127 <- [1] 1 int_conv_to_u1 R41 <- R127 KILL: R41(9) 1 il_seq_point il: 0xdb 1 br [B10] GEN BB19: {5} KILL BB19: {9} BLOCK BB10 (BB1, ): 1 il_seq_point intr il: 0xe6 1 il_seq_point intr il: 0xe8 1 move R32 <- R41 GEN: R41(9) KILL: R32(0) GEN BB10: {9} KILL BB10: {0} BLOCK BB1 (): GEN BB1: {} KILL BB1: {} BLOCK BB20 (BB22, BB6, ): 1 il_seq_point intr il: 0xb6 1 il_seq_point il: 0xb7 1 move R114 <- R36 GEN: R36(4) 1 move R115 <- R34 GEN: R34(2) 1 check_this [R36 + 0x0] GEN: R36(4) 1 call R113 <- [bool System.Threading.Channels.AsyncOperation`1:TrySetResult (int)] [r0 <- R114] [r1 <- R115] clobbers: c 1 int_conv_to_u1 R116 <- R113 1 il_seq_point il: 0xbe, nonempty-stack 1 int_conv_to_u1 R46 <- R116 KILL: R46(14) 1 il_seq_point il: 0xc0 1 move R118 <- R46 GEN: R46(14) 1 icompare_imm R118 [0] 1 int_beq [T:B6 F:B22] GEN BB20: {2, 4} KILL BB20: {14} BLOCK BB22 (BB10, ): 1 il_seq_point intr il: 0xc4 1 il_seq_point il: 0xc5 1 iconst R119 <- [1] 1 int_conv_to_u1 R41 <- R119 KILL: R41(9) 1 il_seq_point il: 0xc8 1 br [B10] GEN BB22: {} KILL BB22: {9} BLOCK BB31 (BB30, ): 1 voidcall [ves_icall_thread_finish_async_abort] clobbers: c GEN BB31: {} KILL BB31: {} BLOCK BB12 (BB13, BB14, ): 1 il_seq_point intr il: 0x56 1 il_seq_point il: 0x57 1 add_imm R138 <- R35 [40] GEN: R35(3) 1 ldaddr R139 <- R43 GEN: R43(11) 1 loadi8_membase R140 <- [R138 + 0x0] 1 storei8_membase_reg [R139] <- R140 1 il_seq_point il: 0x5f 1 ldaddr R86 <- R43 GEN: R43(11) 1 move R87 <- R34 GEN: R34(2) 1 voidcall [void System.Threading.Channels.Channel/UnboundedChannelConcurrentQueue`1:Enqueue (int)] [r0 <- R86] [r1 <- R87] clobbers: c 1 il_seq_point il: 0x6d, nonempty-stack 1 il_seq_point il: 0x6d 1 il_seq_point il: 0x6e 1 load_membase R37 <- [R35 + 0x38] GEN: R35(3) KILL: R37(5) 1 il_seq_point il: 0x75 1 move R90 <- R37 GEN: R37(5) 1 lcompare_imm R90 1 long_ceq R92 <- 1 int_conv_to_u1 R44 <- R92 KILL: R44(12) 1 il_seq_point il: 0x7b 1 move R94 <- R44 GEN: R44(12) 1 icompare_imm R94 [0] 1 int_beq [T:B13 F:B14] GEN BB12: {2, 3, 11} KILL BB12: {5, 12} BLOCK BB13 (BB15, ): 1 il_seq_point intr il: 0x85 1 store_membase_imm [R35 + 0x38] <- [0] 1 il_seq_point il: 0x8c 1 il_seq_point il: 0x8d 1 br [B15] GEN BB13: {3} KILL BB13: {} BLOCK BB14 (BB3, BB28, BB29, ): 1 il_seq_point intr il: 0x7f 1 il_seq_point il: 0x80 1 iconst R95 <- [1] 1 int_conv_to_u1 R41 <- R95 KILL: R41(9) 1 il_seq_point il: 0x83 1 i8const R48 <- [0] KILL: R48(16) 1 call_handler [B3] clobbers: c 1 compare_imm R48 [0] GEN: R48(16) 1 long_beq [T:B28 F:B29] GEN BB14: {} KILL BB14: {9, 16} BLOCK BB28 (BB10, ): 1 br [B10] GEN BB28: {} KILL BB28: {} BLOCK BB29 (BB28, ): 1 voidcall [ves_icall_thread_finish_async_abort] clobbers: c GEN BB29: {} KILL BB29: {} BLOCK BB9 (BB3, BB26, BB27, ): 1 il_seq_point intr il: 0x3c 1 il_seq_point il: 0x3d 1 iconst R73 <- [0] 1 int_conv_to_u1 R41 <- R73 KILL: R41(9) 1 il_seq_point il: 0x40 1 i8const R48 <- [0] KILL: R48(16) 1 call_handler [B3] clobbers: c 1 compare_imm R48 [0] GEN: R48(16) 1 long_beq [T:B26 F:B27] GEN BB9: {} KILL BB9: {9, 16} BLOCK BB26 (BB10, ): 1 br [B10] GEN BB26: {} KILL BB26: {} BLOCK BB27 (BB26, ): 1 voidcall [ves_icall_thread_finish_async_abort] clobbers: c GEN BB27: {} KILL BB27: {} BLOCK BB25 (BB24, ): 1 move R63 <- R58 GEN: R58(19) 1 move R64 <- R59 GEN: R59(20) 1 voidcall [mono_monitor_enter_v4_internal] [r0 <- R63] [r1 <- R64] clobbers: c GEN BB25: {19, 20} KILL BB25: {} ITERATION: P: BB25(28): IN: BB2 OUT:BB24 LIVE IN BB25: {3, 19, 20} P: BB27(27): IN: BB9 OUT:BB26 LIVE IN BB27: {} P: BB26(26): IN: BB9 BB27 OUT:BB10 ADD: 27 LIVE IN BB26: {9} P: BB27(27): IN: BB9 OUT:BB26 LIVE IN BB27: {9} P: BB9(25): IN: BB24 OUT:BB3 BB26 BB27 LIVE IN BB9: {7} P: BB29(24): IN: BB14 OUT:BB28 LIVE IN BB29: {} P: BB28(23): IN: BB14 BB29 OUT:BB10 ADD: 29 LIVE IN BB28: {9} P: BB29(24): IN: BB14 OUT:BB28 LIVE IN BB29: {9} P: BB14(22): IN: BB12 OUT:BB3 BB28 BB29 LIVE IN BB14: {7} P: BB13(21): IN: BB12 OUT:BB15 LIVE IN BB13: {3} P: BB12(20): IN: BB8 OUT:BB13 BB14 LIVE IN BB12: {2, 3, 7, 11} P: BB31(19): IN: BB15 OUT:BB30 LIVE IN BB31: {} P: BB22(18): IN: BB20 OUT:BB10 LIVE IN BB22: {} P: BB20(17): IN: BB16 OUT:BB22 BB6 LIVE IN BB20: {2, 4} P: BB1(16): IN: BB10 OUT: P: BB10(15): IN: BB26 BB28 BB22 BB19 OUT:BB1 LIVE IN BB10: {9} P: BB19(14): IN: BB16 OUT:BB10 LIVE IN BB19: {5} P: BB16(13): IN: BB30 OUT:BB19 BB20 LIVE IN BB16: {2, 4, 5} P: BB30(12): IN: BB15 BB31 OUT:BB16 ADD: 31 LIVE IN BB30: {2, 4, 5} P: BB31(19): IN: BB15 OUT:BB30 LIVE IN BB31: {2, 4, 5} P: BB18(11): IN: BB3 OUT:BB17 LIVE IN BB18: {6} P: BB17(10): IN: BB3 BB18 OUT: P: BB3(9): IN: BB9 BB14 BB15 OUT:BB17 BB18 ADD: 9 ADD: 14 LIVE IN BB3: {6, 7} P: BB14(22): IN: BB12 OUT:BB3 BB28 BB29 ADD: 12 LIVE IN BB14: {6, 7} P: BB12(20): IN: BB8 OUT:BB13 BB14 LIVE IN BB12: {2, 3, 6, 7, 11} P: BB9(25): IN: BB24 OUT:BB3 BB26 BB27 LIVE IN BB9: {6, 7} P: BB15(8): IN: BB13 BB11 OUT:BB3 BB30 BB31 ADD: 13 LIVE IN BB15: {2, 4, 5, 6, 7} P: BB13(21): IN: BB12 OUT:BB15 ADD: 12 LIVE IN BB13: {2, 3, 4, 5, 6, 7} P: BB12(20): IN: BB8 OUT:BB13 BB14 LIVE IN BB12: {2, 3, 4, 6, 7, 11} P: BB11(7): IN: BB8 OUT:BB15 LIVE IN BB11: {2, 3, 5, 6, 7} P: BB8(6): IN: BB24 OUT:BB11 BB12 LIVE IN BB8: {2, 3, 4, 5, 6, 7, 11} P: BB24(5): IN: BB2 BB25 OUT:BB8 BB9 ADD: 25 LIVE IN BB24: {2, 3, 4, 5, 6, 7, 11} P: BB25(28): IN: BB2 OUT:BB24 LIVE IN BB25: {2, 3, 4, 5, 6, 7, 11, 19, 20} P: BB2(4): IN: BB7 OUT:BB24 BB25 LIVE IN BB2: {2, 3, 4, 5, 6, 7, 11} P: BB7(3): IN: BB6 OUT:BB2 LIVE IN BB7: {2, 3, 11} P: BB6(2): IN: BB4 BB20 OUT:BB7 ADD: 20 LIVE IN BB6: {2, 3, 11} P: BB20(17): IN: BB16 OUT:BB22 BB6 ADD: 16 LIVE IN BB20: {2, 3, 4, 11} P: BB16(13): IN: BB30 OUT:BB19 BB20 ADD: 30 LIVE IN BB16: {2, 3, 4, 5, 11} P: BB30(12): IN: BB15 BB31 OUT:BB16 ADD: 15 ADD: 31 LIVE IN BB30: {2, 3, 4, 5, 11} P: BB31(19): IN: BB15 OUT:BB30 LIVE IN BB31: {2, 3, 4, 5, 11} P: BB15(8): IN: BB13 BB11 OUT:BB3 BB30 BB31 ADD: 13 ADD: 11 LIVE IN BB15: {2, 3, 4, 5, 6, 7, 11} P: BB11(7): IN: BB8 OUT:BB15 ADD: 8 LIVE IN BB11: {2, 3, 5, 6, 7, 11} P: BB8(6): IN: BB24 OUT:BB11 BB12 LIVE IN BB8: {2, 3, 4, 5, 6, 7, 11} P: BB13(21): IN: BB12 OUT:BB15 ADD: 12 LIVE IN BB13: {2, 3, 4, 5, 6, 7, 11} P: BB12(20): IN: BB8 OUT:BB13 BB14 ADD: 8 LIVE IN BB12: {2, 3, 4, 6, 7, 11} P: BB8(6): IN: BB24 OUT:BB11 BB12 LIVE IN BB8: {2, 3, 4, 5, 6, 7, 11} P: BB4(1): IN: BB0 OUT:BB6 LIVE IN BB4: {1, 2, 11} P: BB0(0): IN: OUT:BB4 LIVE IN BB0: {1, 2, 11} IT: 29 46. LIVE IN BB25: {2, 3, 4, 5, 6, 7, 11, 19, 20} LIVE OUT BB25: {2, 3, 4, 5, 6, 7, 11} LIVE IN BB27: {9} LIVE OUT BB27: {9} LIVE IN BB26: {9} LIVE OUT BB26: {9} LIVE IN BB9: {6, 7} LIVE OUT BB9: {6, 7, 9} LIVE IN BB29: {9} LIVE OUT BB29: {9} LIVE IN BB28: {9} LIVE OUT BB28: {9} LIVE IN BB14: {6, 7} LIVE OUT BB14: {6, 7, 9} LIVE IN BB13: {2, 3, 4, 5, 6, 7, 11} LIVE OUT BB13: {2, 3, 4, 5, 6, 7, 11} LIVE IN BB12: {2, 3, 4, 6, 7, 11} LIVE OUT BB12: {2, 3, 4, 5, 6, 7, 11} LIVE IN BB31: {2, 3, 4, 5, 11} LIVE OUT BB31: {2, 3, 4, 5, 11} LIVE IN BB22: {} LIVE OUT BB22: {9} LIVE IN BB20: {2, 3, 4, 11} LIVE OUT BB20: {2, 3, 11} LIVE IN BB1: {} LIVE OUT BB1: {} LIVE IN BB10: {9} LIVE OUT BB10: {} LIVE IN BB19: {5} LIVE OUT BB19: {9} LIVE IN BB16: {2, 3, 4, 5, 11} LIVE OUT BB16: {2, 3, 4, 5, 11} LIVE IN BB30: {2, 3, 4, 5, 11} LIVE OUT BB30: {2, 3, 4, 5, 11} LIVE IN BB18: {6} LIVE OUT BB18: {} LIVE IN BB17: {} LIVE OUT BB17: {} LIVE IN BB3: {6, 7} LIVE OUT BB3: {6} LIVE IN BB15: {2, 3, 4, 5, 6, 7, 11} LIVE OUT BB15: {2, 3, 4, 5, 6, 7, 11} LIVE IN BB11: {2, 3, 5, 6, 7, 11} LIVE OUT BB11: {2, 3, 4, 5, 6, 7, 11} LIVE IN BB8: {2, 3, 4, 5, 6, 7, 11} LIVE OUT BB8: {2, 3, 4, 5, 6, 7, 11} LIVE IN BB24: {2, 3, 4, 5, 6, 7, 11} LIVE OUT BB24: {2, 3, 4, 5, 6, 7, 11} LIVE IN BB2: {2, 3, 4, 5, 6, 7, 11} LIVE OUT BB2: {2, 3, 4, 5, 6, 7, 11, 19, 20} LIVE IN BB7: {2, 3, 11} LIVE OUT BB7: {2, 3, 4, 5, 6, 7, 11} LIVE IN BB6: {2, 3, 11} LIVE OUT BB6: {2, 3, 11} LIVE IN BB4: {1, 2, 11} LIVE OUT BB4: {2, 3, 11} LIVE IN BB0: {1, 2, 11} LIVE OUT BB0: {1, 2, 11} V0: [0x0 - 0x3c0007] V1: [0x0 - 0x40020] V2: [0x0 - 0x73ffff] V3: [0x40021 - 0x73ffff] V4: [0x40003 - 0x73ffff] V5: [0x40005 - 0x73ffff] V6: [0x40007 - 0x73ffff] V7: [0x40009 - 0x73ffff] V8: [0x4000b - 0x140020] V9: [0x4000d - 0x6fffff] V10: [0x4000f - 0x180014] V11: [0x0 - 0x73ffff] V12: [0x40015 - 0x50002a] V13: [0x40017 - 0x34000c] V14: [0x40019 - 0x440016] V15: [0x4001b - 0x80007] V16: [0x200007 - 0x640010] V17: [0xffffffff - 0x0] V18: [0xffffffff - 0x0] V19: [0x100005 - 0x700002] V20: [0x100007 - 0x700004] NOT REGVAR: 2 ALLOCATED R33(1) TO HREG 25 COST 1 ALLOCATED R36(4) TO HREG 24 COST 20 ALLOCATED R40(8) TO HREG 23 COST 8 ALLOCATED R41(9) TO HREG 22 COST 5 ALLOCATED R42(10) TO HREG 21 COST 8 ALLOCATED R44(12) TO HREG 20 COST 8 ALLOCATED R45(13) TO HREG 19 COST 8 NOT REGVAR: 14 NOT REGVAR: 15 ALLOCATED R35(3) TO HREG 25 COST 41 ALLOCATED R58(19) TO HREG 26 COST 12 NOT REGVAR: 20 SPILL BLOCK 0: i8const R136 <- [4315302144] i 136 1 i8const R136 <- [4315302144] gc_safe_point R136 clobbers: c i -1 136 1 gc_safe_point R136 clobbers: c SPILL BLOCK 4: nop i8const R37 <- [0] i 37 1 store_membase_imm [fp + 0x70] <- [0] i8const R38 <- [0] i 38 1 store_membase_imm [fp + 0x78] <- [0] iconst R39 <- [0] i 39 1 storei1_membase_imm [fp + 0x80] <- nop nop nop ldaddr R137 <- R43 ii 137 29 1 add_imm R137 <- fp [104] storei8_membase_imm [R137] <- i -1 1 storei8_membase_imm [R137] <- nop nop nop nop il_seq_point intr il: 0x0 -1 1 il_seq_point intr il: 0x0 il_seq_point il: 0x1 -1 1 il_seq_point il: 0x1 load_membase R35 <- [R33 + 0x10] ii 35 33 1 load_membase r25 <- [r25 + 0x10] il_seq_point il: 0x8 -1 1 il_seq_point il: 0x8 br [B6] -1 1 br [B6] SPILL BLOCK 7: i8const R134 <- [4315302144] i 134 1 i8const R134 <- [4315302144] gc_safe_point R134 clobbers: c i -1 134 1 gc_safe_point R134 clobbers: c il_seq_point intr il: 0xd -1 1 il_seq_point intr il: 0xd il_seq_point il: 0xe -1 1 il_seq_point il: 0xe i8const R36 <- [0] i 36 1 i8const r24 <- [0] il_seq_point il: 0x10 -1 1 il_seq_point il: 0x10 i8const R37 <- [0] i 37 1 store_membase_imm [fp + 0x70] <- [0] il_seq_point il: 0x12 -1 1 il_seq_point il: 0x12 move R55 <- R35 ii 55 35 1 move R55 <- r25 check_this [R35 + 0x0] i -1 35 1 check_this [r25 + 0x0] call R38 <- [object System.Threading.Channels.UnboundedChannel`2>:get_SyncObj ()] [r0 <- R55] clobbers: c i 38 1 call R145 <- [object System.Threading.Channels.UnboundedChannel`2>:get_SyncObj ()] [r0 <- R55] clobbers: c store_membase_reg [fp + 0x78] <- R145 ii -1 145 1 store_membase_reg [fp + 0x78] <- R145 il_seq_point il: 0x18, nonempty-stack -1 1 il_seq_point il: 0x18, nonempty-stack il_seq_point il: 0x19 -1 1 il_seq_point il: 0x19 iconst R56 <- [0] i 56 1 iconst R56 <- [0] int_conv_to_u1 R39 <- R56 ii 39 56 1 int_conv_to_u1 R146 <- R56 storei1_membase_reg [fp + 0x80] <- R146 ii -1 146 1 storei1_membase_reg [fp + 0x80] <- R146 SPILL BLOCK 2: il_seq_point intr il: 0x1c -1 1 il_seq_point intr il: 0x1c move R58 <- R38 ii 58 38 0 load_membase r26 <- [fp + 0x78] 1 nop ldaddr R59 <- R39 ii 59 29 1 add_imm R147 <- fp [128] store_membase_reg [fp + 0x98] <- R147 ii -1 147 1 store_membase_reg [fp + 0x98] <- R147 move R61 <- R58 ii 61 58 1 move R61 <- r26 ldaddr R62 <- R39 ii 62 29 1 add_imm R62 <- fp [128] call R60 <- [mono_monitor_enter_v4_fast] [r0 <- R61] [r1 <- R62] clobbers: c i 60 1 call R60 <- [mono_monitor_enter_v4_fast] [r0 <- R61] [r1 <- R62] clobbers: c icompare_imm R60 [0] i -1 60 1 icompare_imm R60 [0] int_bne_un [T:B24 F:B25] -1 1 int_bne_un [T:B24 F:B25] SPILL BLOCK 25: move R63 <- R58 ii 63 58 1 move R63 <- r26 move R64 <- R59 ii 64 59 0 load_membase R64 <- [fp + 0x98] 1 nop voidcall [mono_monitor_enter_v4_internal] [r0 <- R63] [r1 <- R64] clobbers: c -1 1 voidcall [mono_monitor_enter_v4_internal] [r0 <- R63] [r1 <- R64] clobbers: c SPILL BLOCK 24: il_seq_point il: 0x24, nonempty-stack -1 1 il_seq_point il: 0x24, nonempty-stack il_seq_point il: 0x24 -1 1 il_seq_point il: 0x24 il_seq_point il: 0x25 -1 1 il_seq_point il: 0x25 il_seq_point il: 0x26 -1 1 il_seq_point il: 0x26 move R66 <- R35 ii 66 35 1 move R66 <- r25 check_this [R35 + 0x0] i -1 35 1 check_this [r25 + 0x0] voidcall [void System.Threading.Channels.UnboundedChannel`2>:AssertInvariants ()] [r0 <- R66] clobbers: c -1 1 voidcall [void System.Threading.Channels.UnboundedChannel`2>:AssertInvariants ()] [r0 <- R66] clobbers: c il_seq_point il: 0x2c, nonempty-stack -1 1 il_seq_point il: 0x2c, nonempty-stack il_seq_point il: 0x2c -1 1 il_seq_point il: 0x2c il_seq_point il: 0x2d -1 1 il_seq_point il: 0x2d load_membase R68 <- [R35 + 0x40] ii 68 35 1 load_membase R68 <- [r25 + 0x40] lcompare_imm R68 i -1 68 1 lcompare_imm R68 long_cgt_un R70 <- i 70 1 long_cgt_un R70 <- int_conv_to_u1 R40 <- R70 ii 40 70 1 int_conv_to_u1 r23 <- R70 il_seq_point il: 0x38 -1 1 il_seq_point il: 0x38 move R72 <- R40 ii 72 40 1 move R72 <- r23 icompare_imm R72 [0] i -1 72 1 icompare_imm R72 [0] int_beq [T:B8 F:B9] -1 1 int_beq [T:B8 F:B9] SPILL BLOCK 9: il_seq_point intr il: 0x3c -1 1 il_seq_point intr il: 0x3c il_seq_point il: 0x3d -1 1 il_seq_point il: 0x3d iconst R73 <- [0] i 73 1 iconst R73 <- [0] int_conv_to_u1 R41 <- R73 ii 41 73 1 int_conv_to_u1 r22 <- R73 il_seq_point il: 0x40 -1 1 il_seq_point il: 0x40 i8const R48 <- [0] i 48 1 store_membase_imm [fp + 0xa0] <- [0] call_handler [B3] clobbers: c -1 1 call_handler [B3] clobbers: c compare_imm R48 [0] i -1 48 0 load_membase R149 <- [fp + 0xa0] 1 compare_imm R149 [0] long_beq [T:B26 F:B27] -1 1 long_beq [T:B26 F:B27] SPILL BLOCK 27: voidcall [ves_icall_thread_finish_async_abort] clobbers: c -1 1 voidcall [ves_icall_thread_finish_async_abort] clobbers: c SPILL BLOCK 26: br [B10] -1 1 br [B10] SPILL BLOCK 8: il_seq_point intr il: 0x45 -1 1 il_seq_point intr il: 0x45 load_membase R76 <- [R35 + 0x30] ii 76 35 1 load_membase R76 <- [r25 + 0x30] move R78 <- R76 ii 78 76 1 move R78 <- R76 check_this [R76 + 0x0] i -1 76 1 check_this [R76 + 0x0] call R77 <- [bool System.Collections.Generic.Deque`1>:get_IsEmpty ()] [r0 <- R78] clobbers: c i 77 1 call R77 <- [bool System.Collections.Generic.Deque`1>:get_IsEmpty ()] [r0 <- R78] clobbers: c int_conv_to_u1 R79 <- R77 ii 79 77 1 int_conv_to_u1 R79 <- R77 il_seq_point il: 0x50, nonempty-stack -1 1 il_seq_point il: 0x50, nonempty-stack int_conv_to_u1 R42 <- R79 ii 42 79 1 int_conv_to_u1 r21 <- R79 il_seq_point il: 0x52 -1 1 il_seq_point il: 0x52 move R81 <- R42 ii 81 42 1 move R81 <- r21 icompare_imm R81 [0] i -1 81 1 icompare_imm R81 [0] int_beq [T:B11 F:B12] -1 1 int_beq [T:B11 F:B12] SPILL BLOCK 12: il_seq_point intr il: 0x56 -1 1 il_seq_point intr il: 0x56 il_seq_point il: 0x57 -1 1 il_seq_point il: 0x57 add_imm R138 <- R35 [40] ii 138 35 1 add_imm R138 <- r25 [40] ldaddr R139 <- R43 ii 139 29 1 add_imm R139 <- fp [104] loadi8_membase R140 <- [R138 + 0x0] ii 140 138 1 loadi8_membase R140 <- [R138 + 0x0] storei8_membase_reg [R139] <- R140 ii -1 140 1 storei8_membase_reg [R139] <- R140 il_seq_point il: 0x5f -1 1 il_seq_point il: 0x5f ldaddr R86 <- R43 ii 86 29 1 add_imm R86 <- fp [104] move R87 <- R34 ii 87 34 0 loadi4_membase R87 <- [fp + 0x50] 1 nop voidcall [void System.Threading.Channels.Channel/UnboundedChannelConcurrentQueue`1:Enqueue (int)] [r0 <- R86] [r1 <- R87] clobbers: c -1 1 voidcall [void System.Threading.Channels.Channel/UnboundedChannelConcurrentQueue`1:Enqueue (int)] [r0 <- R86] [r1 <- R87] clobbers: c il_seq_point il: 0x6d, nonempty-stack -1 1 il_seq_point il: 0x6d, nonempty-stack il_seq_point il: 0x6d -1 1 il_seq_point il: 0x6d il_seq_point il: 0x6e -1 1 il_seq_point il: 0x6e load_membase R37 <- [R35 + 0x38] ii 37 35 1 load_membase R150 <- [r25 + 0x38] store_membase_reg [fp + 0x70] <- R150 ii -1 150 1 store_membase_reg [fp + 0x70] <- R150 il_seq_point il: 0x75 -1 1 il_seq_point il: 0x75 move R90 <- R37 ii 90 37 0 load_membase R90 <- [fp + 0x70] 1 nop lcompare_imm R90 i -1 90 1 lcompare_imm R90 long_ceq R92 <- i 92 1 long_ceq R92 <- int_conv_to_u1 R44 <- R92 ii 44 92 1 int_conv_to_u1 r20 <- R92 il_seq_point il: 0x7b -1 1 il_seq_point il: 0x7b move R94 <- R44 ii 94 44 1 move R94 <- r20 icompare_imm R94 [0] i -1 94 1 icompare_imm R94 [0] int_beq [T:B13 F:B14] -1 1 int_beq [T:B13 F:B14] SPILL BLOCK 14: il_seq_point intr il: 0x7f -1 1 il_seq_point intr il: 0x7f il_seq_point il: 0x80 -1 1 il_seq_point il: 0x80 iconst R95 <- [1] i 95 1 iconst R95 <- [1] int_conv_to_u1 R41 <- R95 ii 41 95 1 int_conv_to_u1 r22 <- R95 il_seq_point il: 0x83 -1 1 il_seq_point il: 0x83 i8const R48 <- [0] i 48 1 store_membase_imm [fp + 0xa0] <- [0] call_handler [B3] clobbers: c -1 1 call_handler [B3] clobbers: c compare_imm R48 [0] i -1 48 0 load_membase R152 <- [fp + 0xa0] 1 compare_imm R152 [0] long_beq [T:B28 F:B29] -1 1 long_beq [T:B28 F:B29] SPILL BLOCK 29: voidcall [ves_icall_thread_finish_async_abort] clobbers: c -1 1 voidcall [ves_icall_thread_finish_async_abort] clobbers: c SPILL BLOCK 28: br [B10] -1 1 br [B10] SPILL BLOCK 13: il_seq_point intr il: 0x85 -1 1 il_seq_point intr il: 0x85 store_membase_imm [R35 + 0x38] <- [0] i -1 1 store_membase_imm [r25 + 0x38] <- [0] il_seq_point il: 0x8c -1 1 il_seq_point il: 0x8c il_seq_point il: 0x8d -1 1 il_seq_point il: 0x8d br [B15] -1 1 br [B15] SPILL BLOCK 11: il_seq_point intr il: 0x8f -1 1 il_seq_point intr il: 0x8f il_seq_point il: 0x90 -1 1 il_seq_point il: 0x90 load_membase R100 <- [R35 + 0x30] ii 100 35 1 load_membase R100 <- [r25 + 0x30] move R102 <- R100 ii 102 100 1 move R102 <- R100 check_this [R100 + 0x0] i -1 100 1 check_this [R100 + 0x0] call R36 <- [System.Threading.Channels.AsyncOperation`1 System.Collections.Generic.Deque`1>:DequeueHead ()] [r0 <- R102] clobbers: c i 36 1 call r24 <- [System.Threading.Channels.AsyncOperation`1 System.Collections.Generic.Deque`1>:DequeueHead ()] [r0 <- R102] clobbers: c il_seq_point il: 0x9b, nonempty-stack -1 1 il_seq_point il: 0x9b, nonempty-stack il_seq_point il: 0x9c -1 1 il_seq_point il: 0x9c SPILL BLOCK 15: il_seq_point intr il: 0x9d -1 1 il_seq_point intr il: 0x9d il_seq_point il: 0x9e -1 1 il_seq_point il: 0x9e i8const R48 <- [0] i 48 1 store_membase_imm [fp + 0xa0] <- [0] call_handler [B3] clobbers: c -1 1 call_handler [B3] clobbers: c compare_imm R48 [0] i -1 48 0 load_membase R154 <- [fp + 0xa0] 1 compare_imm R154 [0] long_beq [T:B30 F:B31] -1 1 long_beq [T:B30 F:B31] SPILL BLOCK 31: voidcall [ves_icall_thread_finish_async_abort] clobbers: c -1 1 voidcall [ves_icall_thread_finish_async_abort] clobbers: c SPILL BLOCK 30: br [B16] -1 1 br [B16] SPILL BLOCK 3: start_handler -1 1 start_handler i8const R135 <- [4315302144] i 135 1 i8const R135 <- [4315302144] gc_safe_point R135 clobbers: c i -1 135 1 gc_safe_point R135 clobbers: c il_seq_point il: 0xa0 -1 1 il_seq_point il: 0xa0 move R103 <- R39 ii 103 39 0 loadu1_membase R103 <- [fp + 0x80] 1 nop icompare_imm R103 [0] i -1 103 1 icompare_imm R103 [0] int_beq [T:B17 F:B18] -1 1 int_beq [T:B17 F:B18] SPILL BLOCK 18: il_seq_point intr il: 0xa4 -1 1 il_seq_point intr il: 0xa4 move R105 <- R38 ii 105 38 0 load_membase R105 <- [fp + 0x78] 1 nop voidcall [void System.Threading.Monitor:Exit (object)] [r0 <- R105] clobbers: c -1 1 voidcall [void System.Threading.Monitor:Exit (object)] [r0 <- R105] clobbers: c il_seq_point il: 0xaa, nonempty-stack -1 1 il_seq_point il: 0xaa, nonempty-stack il_seq_point il: 0xaa -1 1 il_seq_point il: 0xaa SPILL BLOCK 17: il_seq_point intr il: 0xab -1 1 il_seq_point intr il: 0xab endfinally -1 1 endfinally SPILL BLOCK 16: il_seq_point intr il: 0xac -1 1 il_seq_point intr il: 0xac lcompare_imm R36 i -1 36 1 lcompare_imm r24 long_cgt_un R108 <- i 108 1 long_cgt_un R108 <- int_conv_to_u1 R45 <- R108 ii 45 108 1 int_conv_to_u1 r19 <- R108 il_seq_point il: 0xb2 -1 1 il_seq_point il: 0xb2 move R110 <- R45 ii 110 45 1 move R110 <- r19 icompare_imm R110 [0] i -1 110 1 icompare_imm R110 [0] int_beq [T:B19 F:B20] -1 1 int_beq [T:B19 F:B20] SPILL BLOCK 20: il_seq_point intr il: 0xb6 -1 1 il_seq_point intr il: 0xb6 il_seq_point il: 0xb7 -1 1 il_seq_point il: 0xb7 move R114 <- R36 ii 114 36 1 move R114 <- r24 move R115 <- R34 ii 115 34 0 loadi4_membase R115 <- [fp + 0x50] 1 nop check_this [R36 + 0x0] i -1 36 1 check_this [r24 + 0x0] call R113 <- [bool System.Threading.Channels.AsyncOperation`1:TrySetResult (int)] [r0 <- R114] [r1 <- R115] clobbers: c i 113 1 call R113 <- [bool System.Threading.Channels.AsyncOperation`1:TrySetResult (int)] [r0 <- R114] [r1 <- R115] clobbers: c int_conv_to_u1 R116 <- R113 ii 116 113 1 int_conv_to_u1 R116 <- R113 il_seq_point il: 0xbe, nonempty-stack -1 1 il_seq_point il: 0xbe, nonempty-stack int_conv_to_u1 R46 <- R116 ii 46 116 1 int_conv_to_u1 R155 <- R116 storei1_membase_reg [fp + 0x88] <- R155 ii -1 155 1 storei1_membase_reg [fp + 0x88] <- R155 il_seq_point il: 0xc0 -1 1 il_seq_point il: 0xc0 move R118 <- R46 ii 118 46 Use lvreg R155 for R46. 1 move R118 <- R155 icompare_imm R118 [0] i -1 118 1 icompare_imm R118 [0] int_beq [T:B6 F:B22] -1 1 int_beq [T:B6 F:B22] SPILL BLOCK 22: il_seq_point intr il: 0xc4 -1 1 il_seq_point intr il: 0xc4 il_seq_point il: 0xc5 -1 1 il_seq_point il: 0xc5 iconst R119 <- [1] i 119 1 iconst R119 <- [1] int_conv_to_u1 R41 <- R119 ii 41 119 1 int_conv_to_u1 r22 <- R119 il_seq_point il: 0xc8 -1 1 il_seq_point il: 0xc8 br [B10] -1 1 br [B10] SPILL BLOCK 19: il_seq_point intr il: 0xcd -1 1 il_seq_point intr il: 0xcd il_seq_point il: 0xce -1 1 il_seq_point il: 0xce ldaddr R124 <- R37 ii 124 29 1 add_imm R124 <- fp [112] iconst R125 <- [1] i 125 1 iconst R125 <- [1] i8const R126 <- [0] i 126 1 i8const R126 <- [0] voidcall [void System.Threading.Channels.ChannelUtilities:WakeUpWaiters (System.Threading.Channels.AsyncOperation`1&,bool,System.Exception)] [r0 <- R124] [r1 <- R125] [r2 <- R126] clobbers: c -1 1 voidcall [void System.Threading.Channels.ChannelUtilities:WakeUpWaiters (System.Threading.Channels.AsyncOperation`1&,bool,System.Exception)] [r0 <- R124] [r1 <- R125] [r2 <- R126] clobbers: c il_seq_point il: 0xd7, nonempty-stack -1 1 il_seq_point il: 0xd7, nonempty-stack il_seq_point il: 0xd7 -1 1 il_seq_point il: 0xd7 il_seq_point il: 0xd8 -1 1 il_seq_point il: 0xd8 iconst R127 <- [1] i 127 1 iconst R127 <- [1] int_conv_to_u1 R41 <- R127 ii 41 127 1 int_conv_to_u1 r22 <- R127 il_seq_point il: 0xdb -1 1 il_seq_point il: 0xdb br [B10] -1 1 br [B10] SPILL BLOCK 6: il_seq_point intr il: 0xde -1 1 il_seq_point intr il: 0xde iconst R129 <- [1] i 129 1 iconst R129 <- [1] int_conv_to_u1 R47 <- R129 ii 47 129 1 int_conv_to_u1 R156 <- R129 storei1_membase_reg [fp + 0x90] <- R156 ii -1 156 1 storei1_membase_reg [fp + 0x90] <- R156 il_seq_point il: 0xe1 -1 1 il_seq_point il: 0xe1 br [B7] -1 1 br [B7] SPILL BLOCK 10: il_seq_point intr il: 0xe6 -1 1 il_seq_point intr il: 0xe6 il_seq_point intr il: 0xe8 -1 1 il_seq_point intr il: 0xe8 move R32 <- R41 ii 32 41 1 move r0 <- r22 SPILL BLOCK 1: CCOPY/2: R118 -> R155 DUMP BLOCK 0: i8const R136 <- [4315302144] gc_safe_point R136 clobbers: c DUMP BLOCK 4: store_membase_imm [fp + 0x70] <- [0] store_membase_imm [fp + 0x78] <- [0] storei1_membase_imm [fp + 0x80] <- storei8_membase_imm [fp + 0x68] <- il_seq_point intr il: 0x0 il_seq_point il: 0x1 load_membase r25 <- [r25 + 0x10] il_seq_point il: 0x8 br [B6] DUMP BLOCK 7: i8const R134 <- [4315302144] gc_safe_point R134 clobbers: c il_seq_point intr il: 0xd il_seq_point il: 0xe i8const r24 <- [0] il_seq_point il: 0x10 store_membase_imm [fp + 0x70] <- [0] il_seq_point il: 0x12 move R55 <- r25 check_this [r25 + 0x0] call R145 <- [object System.Threading.Channels.UnboundedChannel`2>:get_SyncObj ()] [r0 <- R55] clobbers: c store_membase_reg [fp + 0x78] <- R145 il_seq_point il: 0x18, nonempty-stack il_seq_point il: 0x19 iconst R56 <- [0] storei1_membase_reg [fp + 0x80] <- R56 DUMP BLOCK 2: il_seq_point intr il: 0x1c load_membase r26 <- [fp + 0x78] add_imm R147 <- fp [128] store_membase_reg [fp + 0x98] <- R147 move R61 <- r26 add_imm R62 <- fp [128] call R60 <- [mono_monitor_enter_v4_fast] [r0 <- R61] [r1 <- R62] clobbers: c icompare_imm R60 [0] int_bne_un [T:B24 F:B25] DUMP BLOCK 25: move R63 <- r26 load_membase R64 <- [fp + 0x98] voidcall [mono_monitor_enter_v4_internal] [r0 <- R63] [r1 <- R64] clobbers: c DUMP BLOCK 24: il_seq_point il: 0x24, nonempty-stack il_seq_point il: 0x24 il_seq_point il: 0x25 il_seq_point il: 0x26 move R66 <- r25 check_this [r25 + 0x0] voidcall [void System.Threading.Channels.UnboundedChannel`2>:AssertInvariants ()] [r0 <- R66] clobbers: c il_seq_point il: 0x2c, nonempty-stack il_seq_point il: 0x2c il_seq_point il: 0x2d load_membase R68 <- [r25 + 0x40] lcompare_imm R68 long_cgt_un R70 <- int_conv_to_u1 r23 <- R70 il_seq_point il: 0x38 move R72 <- r23 icompare_imm R72 [0] int_beq [T:B8 F:B9] DUMP BLOCK 9: il_seq_point intr il: 0x3c il_seq_point il: 0x3d iconst R73 <- [0] int_conv_to_u1 r22 <- R73 il_seq_point il: 0x40 store_membase_imm [fp + 0xa0] <- [0] call_handler [B3] clobbers: c load_membase R149 <- [fp + 0xa0] compare_imm R149 [0] long_beq [T:B26 F:B27] DUMP BLOCK 27: voidcall [ves_icall_thread_finish_async_abort] clobbers: c DUMP BLOCK 26: br [B10] DUMP BLOCK 8: il_seq_point intr il: 0x45 load_membase R76 <- [r25 + 0x30] move R78 <- R76 check_this [R76 + 0x0] call R77 <- [bool System.Collections.Generic.Deque`1>:get_IsEmpty ()] [r0 <- R78] clobbers: c int_conv_to_u1 R79 <- R77 il_seq_point il: 0x50, nonempty-stack int_conv_to_u1 r21 <- R79 il_seq_point il: 0x52 move R81 <- r21 icompare_imm R81 [0] int_beq [T:B11 F:B12] DUMP BLOCK 12: il_seq_point intr il: 0x56 il_seq_point il: 0x57 add_imm R138 <- r25 [40] loadi8_membase R140 <- [R138 + 0x0] storei8_membase_reg [fp + 0x68] <- R140 il_seq_point il: 0x5f add_imm R86 <- fp [104] loadi4_membase R87 <- [fp + 0x50] voidcall [void System.Threading.Channels.Channel/UnboundedChannelConcurrentQueue`1:Enqueue (int)] [r0 <- R86] [r1 <- R87] clobbers: c il_seq_point il: 0x6d, nonempty-stack il_seq_point il: 0x6d il_seq_point il: 0x6e load_membase R150 <- [r25 + 0x38] store_membase_reg [fp + 0x70] <- R150 il_seq_point il: 0x75 load_membase R90 <- [fp + 0x70] lcompare_imm R90 long_ceq R92 <- int_conv_to_u1 r20 <- R92 il_seq_point il: 0x7b move R94 <- r20 icompare_imm R94 [0] int_beq [T:B13 F:B14] DUMP BLOCK 14: il_seq_point intr il: 0x7f il_seq_point il: 0x80 iconst R95 <- [1] int_conv_to_u1 r22 <- R95 il_seq_point il: 0x83 store_membase_imm [fp + 0xa0] <- [0] call_handler [B3] clobbers: c load_membase R152 <- [fp + 0xa0] compare_imm R152 [0] long_beq [T:B28 F:B29] DUMP BLOCK 29: voidcall [ves_icall_thread_finish_async_abort] clobbers: c DUMP BLOCK 28: br [B10] DUMP BLOCK 13: il_seq_point intr il: 0x85 store_membase_imm [r25 + 0x38] <- [0] il_seq_point il: 0x8c il_seq_point il: 0x8d br [B15] DUMP BLOCK 11: il_seq_point intr il: 0x8f il_seq_point il: 0x90 load_membase R100 <- [r25 + 0x30] move R102 <- R100 check_this [R100 + 0x0] call r24 <- [System.Threading.Channels.AsyncOperation`1 System.Collections.Generic.Deque`1>:DequeueHead ()] [r0 <- R102] clobbers: c il_seq_point il: 0x9b, nonempty-stack il_seq_point il: 0x9c DUMP BLOCK 15: il_seq_point intr il: 0x9d il_seq_point il: 0x9e store_membase_imm [fp + 0xa0] <- [0] call_handler [B3] clobbers: c load_membase R154 <- [fp + 0xa0] compare_imm R154 [0] long_beq [T:B30 F:B31] DUMP BLOCK 31: voidcall [ves_icall_thread_finish_async_abort] clobbers: c DUMP BLOCK 30: br [B16] DUMP BLOCK 3: start_handler i8const R135 <- [4315302144] gc_safe_point R135 clobbers: c il_seq_point il: 0xa0 loadu1_membase R103 <- [fp + 0x80] icompare_imm R103 [0] int_beq [T:B17 F:B18] DUMP BLOCK 18: il_seq_point intr il: 0xa4 load_membase R105 <- [fp + 0x78] voidcall [void System.Threading.Monitor:Exit (object)] [r0 <- R105] clobbers: c il_seq_point il: 0xaa, nonempty-stack il_seq_point il: 0xaa DUMP BLOCK 17: il_seq_point intr il: 0xab endfinally DUMP BLOCK 16: il_seq_point intr il: 0xac lcompare_imm r24 long_cgt_un R108 <- int_conv_to_u1 r19 <- R108 il_seq_point il: 0xb2 move R110 <- r19 icompare_imm R110 [0] int_beq [T:B19 F:B20] DUMP BLOCK 20: il_seq_point intr il: 0xb6 il_seq_point il: 0xb7 move R114 <- r24 loadi4_membase R115 <- [fp + 0x50] check_this [r24 + 0x0] call R113 <- [bool System.Threading.Channels.AsyncOperation`1:TrySetResult (int)] [r0 <- R114] [r1 <- R115] clobbers: c int_conv_to_u1 R116 <- R113 il_seq_point il: 0xbe, nonempty-stack int_conv_to_u1 R155 <- R116 storei1_membase_reg [fp + 0x88] <- R116 il_seq_point il: 0xc0 icompare_imm R155 [0] int_beq [T:B6 F:B22] DUMP BLOCK 22: il_seq_point intr il: 0xc4 il_seq_point il: 0xc5 iconst R119 <- [1] int_conv_to_u1 r22 <- R119 il_seq_point il: 0xc8 br [B10] DUMP BLOCK 19: il_seq_point intr il: 0xcd il_seq_point il: 0xce add_imm R124 <- fp [112] iconst R125 <- [1] i8const R126 <- [0] voidcall [void System.Threading.Channels.ChannelUtilities:WakeUpWaiters (System.Threading.Channels.AsyncOperation`1&,bool,System.Exception)] [r0 <- R124] [r1 <- R125] [r2 <- R126] clobbers: c il_seq_point il: 0xd7, nonempty-stack il_seq_point il: 0xd7 il_seq_point il: 0xd8 iconst R127 <- [1] int_conv_to_u1 r22 <- R127 il_seq_point il: 0xdb br [B10] DUMP BLOCK 6: il_seq_point intr il: 0xde iconst R129 <- [1] storei1_membase_reg [fp + 0x90] <- R129 il_seq_point il: 0xe1 br [B7] DUMP BLOCK 10: il_seq_point intr il: 0xe6 il_seq_point intr il: 0xe8 move r0 <- r22 DUMP BLOCK 1: LOCAL REGALLOC BLOCK 0: 1 i8const R136 <- [4315302144] 2 gc_safe_point R136 clobbers: c liveness: R136 [1 - 1] processing: 2 gc_safe_point R136 clobbers: c assigned sreg1 r0 to R136 2 gc_safe_point r0 clobbers: c processing: 1 i8const R136 <- [4315302144] assigned dreg r0 to dest R136 freeable r0 (R136) (born in 1) 1 i8const r0 <- [4315302144] LOCAL REGALLOC BLOCK 4: 1 store_membase_imm [fp + 0x70] <- [0] 2 store_membase_imm [fp + 0x78] <- [0] 3 storei1_membase_imm [fp + 0x80] <- 4 storei8_membase_imm [fp + 0x68] <- 5 il_seq_point intr il: 0x0 6 il_seq_point il: 0x1 7 load_membase r25 <- [r25 + 0x10] 8 il_seq_point il: 0x8 9 br [B6] liveness: r25 [7 - 7] liveness: fp [1 - 0] processing: 9 br [B6] 9 br [B6] processing: 8 il_seq_point il: 0x8 8 il_seq_point il: 0x8 processing: 7 load_membase r25 <- [r25 + 0x10] 7 load_membase r25 <- [r25 + 0x10] processing: 6 il_seq_point il: 0x1 6 il_seq_point il: 0x1 processing: 5 il_seq_point intr il: 0x0 5 il_seq_point intr il: 0x0 processing: 4 storei8_membase_imm [fp + 0x68] <- 4 storei8_membase_imm [fp + 0x68] <- processing: 3 storei1_membase_imm [fp + 0x80] <- 3 storei1_membase_imm [fp + 0x80] <- processing: 2 store_membase_imm [fp + 0x78] <- [0] 2 store_membase_imm [fp + 0x78] <- [0] processing: 1 store_membase_imm [fp + 0x70] <- [0] 1 store_membase_imm [fp + 0x70] <- [0] LOCAL REGALLOC BLOCK 7: 1 i8const R134 <- [4315302144] 2 gc_safe_point R134 clobbers: c 3 il_seq_point intr il: 0xd 4 il_seq_point il: 0xe 5 i8const r24 <- [0] 6 il_seq_point il: 0x10 7 store_membase_imm [fp + 0x70] <- [0] 8 il_seq_point il: 0x12 9 move R55 <- r25 10 check_this [r25 + 0x0] 11 call R145 <- [object System.Threading.Channels.UnboundedChannel`2>:get_SyncObj ()] [r0 <- R55] clobbers: c 12 store_membase_reg [fp + 0x78] <- R145 13 il_seq_point il: 0x18, nonempty-stack 14 il_seq_point il: 0x19 15 iconst R56 <- [0] 16 storei1_membase_reg [fp + 0x80] <- R56 liveness: r24 [5 - 5] liveness: fp [7 - 0] liveness: R55 [9 - 9] liveness: R56 [15 - 15] liveness: R134 [1 - 1] liveness: R145 [11 - 11] processing: 16 storei1_membase_reg [fp + 0x80] <- R56 assigned sreg1 r0 to R56 16 storei1_membase_reg [fp + 0x80] <- r0 processing: 15 iconst R56 <- [0] assigned dreg r0 to dest R56 freeable r0 (R56) (born in 15) 15 iconst r0 <- [0] processing: 14 il_seq_point il: 0x19 14 il_seq_point il: 0x19 processing: 13 il_seq_point il: 0x18, nonempty-stack 13 il_seq_point il: 0x18, nonempty-stack processing: 12 store_membase_reg [fp + 0x78] <- R145 allocated preferred reg R145 to r0 assigned sreg1 r0 to R145 12 store_membase_reg [fp + 0x78] <- r0 processing: 11 call R145 <- [object System.Threading.Channels.UnboundedChannel`2>:get_SyncObj ()] [r0 <- R55] clobbers: c assigned dreg r0 to dest R145 freeable r0 (R145) (born in 11) assigned arg ireg r0 to R55 11 call r0 <- [object System.Threading.Channels.UnboundedChannel`2>:get_SyncObj ()] [r0 <- R55] clobbers: c processing: 10 check_this [r25 + 0x0] 10 check_this [r25 + 0x0] processing: 9 move R55 <- r25 assigned dreg r0 to dest R55 freeable r0 (R55) (born in 9) 9 move r0 <- r25 processing: 8 il_seq_point il: 0x12 8 il_seq_point il: 0x12 processing: 7 store_membase_imm [fp + 0x70] <- [0] 7 store_membase_imm [fp + 0x70] <- [0] processing: 6 il_seq_point il: 0x10 6 il_seq_point il: 0x10 processing: 5 i8const r24 <- [0] 5 i8const r24 <- [0] processing: 4 il_seq_point il: 0xe 4 il_seq_point il: 0xe processing: 3 il_seq_point intr il: 0xd 3 il_seq_point intr il: 0xd processing: 2 gc_safe_point R134 clobbers: c assigned sreg1 r0 to R134 2 gc_safe_point r0 clobbers: c processing: 1 i8const R134 <- [4315302144] assigned dreg r0 to dest R134 freeable r0 (R134) (born in 1) 1 i8const r0 <- [4315302144] LOCAL REGALLOC BLOCK 2: 1 il_seq_point intr il: 0x1c 2 load_membase r26 <- [fp + 0x78] 3 add_imm R147 <- fp [128] 4 store_membase_reg [fp + 0x98] <- R147 5 move R61 <- r26 6 add_imm R62 <- fp [128] 7 call R60 <- [mono_monitor_enter_v4_fast] [r0 <- R61] [r1 <- R62] clobbers: c 8 nop 9 arm64_cbnzw R60 liveness: r26 [2 - 2] liveness: fp [4 - 0] liveness: R60 [7 - 7] liveness: R61 [5 - 5] liveness: R62 [6 - 6] liveness: R147 [3 - 3] processing: 9 arm64_cbnzw R60 allocated preferred reg R60 to r0 assigned sreg1 r0 to R60 9 arm64_cbnzw r0 processing: 8 nop 8 nop processing: 7 call R60 <- [mono_monitor_enter_v4_fast] [r0 <- R61] [r1 <- R62] clobbers: c assigned dreg r0 to dest R60 freeable r0 (R60) (born in 7) assigned arg ireg r0 to R61 assigned arg ireg r1 to R62 7 call r0 <- [mono_monitor_enter_v4_fast] [r0 <- R61] [r1 <- R62] clobbers: c processing: 6 add_imm R62 <- fp [128] assigned dreg r1 to dest R62 freeable r1 (R62) (born in 6) 6 add_imm r1 <- fp [128] processing: 5 move R61 <- r26 assigned dreg r0 to dest R61 freeable r0 (R61) (born in 5) 5 move r0 <- r26 processing: 4 store_membase_reg [fp + 0x98] <- R147 assigned sreg1 r0 to R147 4 store_membase_reg [fp + 0x98] <- r0 processing: 3 add_imm R147 <- fp [128] assigned dreg r0 to dest R147 freeable r0 (R147) (born in 3) 3 add_imm r0 <- fp [128] processing: 2 load_membase r26 <- [fp + 0x78] 2 load_membase r26 <- [fp + 0x78] processing: 1 il_seq_point intr il: 0x1c 1 il_seq_point intr il: 0x1c LOCAL REGALLOC BLOCK 25: 1 move R63 <- r26 2 load_membase R64 <- [fp + 0x98] 3 voidcall [mono_monitor_enter_v4_internal] [r0 <- R63] [r1 <- R64] clobbers: c liveness: R63 [1 - 1] liveness: R64 [2 - 2] processing: 3 voidcall [mono_monitor_enter_v4_internal] [r0 <- R63] [r1 <- R64] clobbers: c assigned arg ireg r0 to R63 assigned arg ireg r1 to R64 3 voidcall [mono_monitor_enter_v4_internal] [r0 <- R63] [r1 <- R64] clobbers: c processing: 2 load_membase R64 <- [fp + 0x98] assigned dreg r1 to dest R64 freeable r1 (R64) (born in 2) 2 load_membase r1 <- [fp + 0x98] processing: 1 move R63 <- r26 assigned dreg r0 to dest R63 freeable r0 (R63) (born in 1) 1 move r0 <- r26 LOCAL REGALLOC BLOCK 24: 1 il_seq_point il: 0x24, nonempty-stack 2 il_seq_point il: 0x24 3 il_seq_point il: 0x25 4 il_seq_point il: 0x26 5 move R66 <- r25 6 check_this [r25 + 0x0] 7 voidcall [void System.Threading.Channels.UnboundedChannel`2>:AssertInvariants ()] [r0 <- R66] clobbers: c 8 il_seq_point il: 0x2c, nonempty-stack 9 il_seq_point il: 0x2c 10 il_seq_point il: 0x2d 11 load_membase R68 <- [r25 + 0x40] 12 lcompare_imm R68 13 long_cgt_un R70 <- 14 int_conv_to_u1 r23 <- R70 15 il_seq_point il: 0x38 16 move R72 <- r23 17 nop 18 arm64_cbzw R72 liveness: r23 [14 - 14] liveness: R66 [5 - 5] liveness: R68 [11 - 11] liveness: R70 [13 - 13] liveness: R72 [16 - 16] processing: 18 arm64_cbzw R72 assigned sreg1 r0 to R72 18 arm64_cbzw r0 processing: 17 nop 17 nop processing: 16 move R72 <- r23 assigned dreg r0 to dest R72 freeable r0 (R72) (born in 16) 16 move r0 <- r23 processing: 15 il_seq_point il: 0x38 15 il_seq_point il: 0x38 processing: 14 int_conv_to_u1 r23 <- R70 assigned sreg1 r0 to R70 14 int_conv_to_u1 r23 <- r0 processing: 13 long_cgt_un R70 <- assigned dreg r0 to dest R70 freeable r0 (R70) (born in 13) 13 long_cgt_un r0 <- processing: 12 lcompare_imm R68 assigned sreg1 r0 to R68 12 lcompare_imm r0 processing: 11 load_membase R68 <- [r25 + 0x40] assigned dreg r0 to dest R68 freeable r0 (R68) (born in 11) 11 load_membase r0 <- [r25 + 0x40] processing: 10 il_seq_point il: 0x2d 10 il_seq_point il: 0x2d processing: 9 il_seq_point il: 0x2c 9 il_seq_point il: 0x2c processing: 8 il_seq_point il: 0x2c, nonempty-stack 8 il_seq_point il: 0x2c, nonempty-stack processing: 7 voidcall [void System.Threading.Channels.UnboundedChannel`2>:AssertInvariants ()] [r0 <- R66] clobbers: c assigned arg ireg r0 to R66 7 voidcall [void System.Threading.Channels.UnboundedChannel`2>:AssertInvariants ()] [r0 <- R66] clobbers: c processing: 6 check_this [r25 + 0x0] 6 check_this [r25 + 0x0] processing: 5 move R66 <- r25 assigned dreg r0 to dest R66 freeable r0 (R66) (born in 5) 5 move r0 <- r25 processing: 4 il_seq_point il: 0x26 4 il_seq_point il: 0x26 processing: 3 il_seq_point il: 0x25 3 il_seq_point il: 0x25 processing: 2 il_seq_point il: 0x24 2 il_seq_point il: 0x24 processing: 1 il_seq_point il: 0x24, nonempty-stack 1 il_seq_point il: 0x24, nonempty-stack LOCAL REGALLOC BLOCK 9: 1 il_seq_point intr il: 0x3c 2 il_seq_point il: 0x3d 3 iconst R73 <- [0] 4 int_conv_to_u1 r22 <- R73 5 il_seq_point il: 0x40 6 store_membase_imm [fp + 0xa0] <- [0] 7 call_handler [B3] clobbers: c 8 load_membase R149 <- [fp + 0xa0] 9 nop 10 arm64_cbzx R149 liveness: r22 [4 - 4] liveness: fp [6 - 0] liveness: R73 [3 - 3] liveness: R149 [8 - 8] processing: 10 arm64_cbzx R149 assigned sreg1 r0 to R149 10 arm64_cbzx r0 processing: 9 nop 9 nop processing: 8 load_membase R149 <- [fp + 0xa0] assigned dreg r0 to dest R149 freeable r0 (R149) (born in 8) 8 load_membase r0 <- [fp + 0xa0] processing: 7 call_handler [B3] clobbers: c 7 call_handler [B3] clobbers: c processing: 6 store_membase_imm [fp + 0xa0] <- [0] 6 store_membase_imm [fp + 0xa0] <- [0] processing: 5 il_seq_point il: 0x40 5 il_seq_point il: 0x40 processing: 4 int_conv_to_u1 r22 <- R73 assigned sreg1 r0 to R73 4 int_conv_to_u1 r22 <- r0 processing: 3 iconst R73 <- [0] assigned dreg r0 to dest R73 freeable r0 (R73) (born in 3) 3 iconst r0 <- [0] processing: 2 il_seq_point il: 0x3d 2 il_seq_point il: 0x3d processing: 1 il_seq_point intr il: 0x3c 1 il_seq_point intr il: 0x3c LOCAL REGALLOC BLOCK 27: 1 voidcall [ves_icall_thread_finish_async_abort] clobbers: c processing: 1 voidcall [ves_icall_thread_finish_async_abort] clobbers: c 1 voidcall [ves_icall_thread_finish_async_abort] clobbers: c LOCAL REGALLOC BLOCK 26: 1 br [B10] processing: 1 br [B10] 1 br [B10] LOCAL REGALLOC BLOCK 8: 1 il_seq_point intr il: 0x45 2 load_membase R76 <- [r25 + 0x30] 3 move R78 <- R76 4 check_this [R76 + 0x0] 5 call R77 <- [bool System.Collections.Generic.Deque`1>:get_IsEmpty ()] [r0 <- R78] clobbers: c 6 int_conv_to_u1 R79 <- R77 7 il_seq_point il: 0x50, nonempty-stack 8 int_conv_to_u1 r21 <- R79 9 il_seq_point il: 0x52 10 move R81 <- r21 11 nop 12 arm64_cbzw R81 liveness: r21 [8 - 8] liveness: R76 [2 - 2] liveness: R77 [5 - 5] liveness: R78 [3 - 3] liveness: R79 [6 - 6] liveness: R81 [10 - 10] processing: 12 arm64_cbzw R81 assigned sreg1 r0 to R81 12 arm64_cbzw r0 processing: 11 nop 11 nop processing: 10 move R81 <- r21 assigned dreg r0 to dest R81 freeable r0 (R81) (born in 10) 10 move r0 <- r21 processing: 9 il_seq_point il: 0x52 9 il_seq_point il: 0x52 processing: 8 int_conv_to_u1 r21 <- R79 assigned sreg1 r0 to R79 8 int_conv_to_u1 r21 <- r0 processing: 7 il_seq_point il: 0x50, nonempty-stack 7 il_seq_point il: 0x50, nonempty-stack processing: 6 int_conv_to_u1 R79 <- R77 assigned dreg r0 to dest R79 freeable r0 (R79) (born in 6) allocated preferred reg R77 to r0 assigned sreg1 r0 to R77 6 int_conv_to_u1 r0 <- r0 processing: 5 call R77 <- [bool System.Collections.Generic.Deque`1>:get_IsEmpty ()] [r0 <- R78] clobbers: c assigned dreg r0 to dest R77 freeable r0 (R77) (born in 5) assigned arg ireg r0 to R78 5 call r0 <- [bool System.Collections.Generic.Deque`1>:get_IsEmpty ()] [r0 <- R78] clobbers: c processing: 4 check_this [R76 + 0x0] assigned sreg1 r1 to R76 4 check_this [r1 + 0x0] processing: 3 move R78 <- R76 assigned dreg r0 to dest R78 freeable r0 (R78) (born in 3) 3 move r0 <- r1 processing: 2 load_membase R76 <- [r25 + 0x30] assigned dreg r1 to dest R76 freeable r1 (R76) (born in 2) 2 load_membase r1 <- [r25 + 0x30] processing: 1 il_seq_point intr il: 0x45 1 il_seq_point intr il: 0x45 LOCAL REGALLOC BLOCK 12: 1 il_seq_point intr il: 0x56 2 il_seq_point il: 0x57 3 add_imm R138 <- r25 [40] 4 loadi8_membase R140 <- [R138 + 0x0] 5 storei8_membase_reg [fp + 0x68] <- R140 6 il_seq_point il: 0x5f 7 add_imm R86 <- fp [104] 8 loadi4_membase R87 <- [fp + 0x50] 9 voidcall [void System.Threading.Channels.Channel/UnboundedChannelConcurrentQueue`1:Enqueue (int)] [r0 <- R86] [r1 <- R87] clobbers: c 10 il_seq_point il: 0x6d, nonempty-stack 11 il_seq_point il: 0x6d 12 il_seq_point il: 0x6e 13 load_membase R150 <- [r25 + 0x38] 14 store_membase_reg [fp + 0x70] <- R150 15 il_seq_point il: 0x75 16 load_membase R90 <- [fp + 0x70] 17 lcompare_imm R90 18 long_ceq R92 <- 19 int_conv_to_u1 r20 <- R92 20 il_seq_point il: 0x7b 21 move R94 <- r20 22 nop 23 arm64_cbzw R94 liveness: r20 [19 - 19] liveness: fp [5 - 0] liveness: R86 [7 - 7] liveness: R87 [8 - 8] liveness: R90 [16 - 16] liveness: R92 [18 - 18] liveness: R94 [21 - 21] liveness: R138 [3 - 3] liveness: R140 [4 - 4] liveness: R150 [13 - 13] processing: 23 arm64_cbzw R94 assigned sreg1 r0 to R94 23 arm64_cbzw r0 processing: 22 nop 22 nop processing: 21 move R94 <- r20 assigned dreg r0 to dest R94 freeable r0 (R94) (born in 21) 21 move r0 <- r20 processing: 20 il_seq_point il: 0x7b 20 il_seq_point il: 0x7b processing: 19 int_conv_to_u1 r20 <- R92 assigned sreg1 r0 to R92 19 int_conv_to_u1 r20 <- r0 processing: 18 long_ceq R92 <- assigned dreg r0 to dest R92 freeable r0 (R92) (born in 18) 18 long_ceq r0 <- processing: 17 lcompare_imm R90 assigned sreg1 r0 to R90 17 lcompare_imm r0 processing: 16 load_membase R90 <- [fp + 0x70] assigned dreg r0 to dest R90 freeable r0 (R90) (born in 16) 16 load_membase r0 <- [fp + 0x70] processing: 15 il_seq_point il: 0x75 15 il_seq_point il: 0x75 processing: 14 store_membase_reg [fp + 0x70] <- R150 assigned sreg1 r0 to R150 14 store_membase_reg [fp + 0x70] <- r0 processing: 13 load_membase R150 <- [r25 + 0x38] assigned dreg r0 to dest R150 freeable r0 (R150) (born in 13) 13 load_membase r0 <- [r25 + 0x38] processing: 12 il_seq_point il: 0x6e 12 il_seq_point il: 0x6e processing: 11 il_seq_point il: 0x6d 11 il_seq_point il: 0x6d processing: 10 il_seq_point il: 0x6d, nonempty-stack 10 il_seq_point il: 0x6d, nonempty-stack processing: 9 voidcall [void System.Threading.Channels.Channel/UnboundedChannelConcurrentQueue`1:Enqueue (int)] [r0 <- R86] [r1 <- R87] clobbers: c assigned arg ireg r0 to R86 assigned arg ireg r1 to R87 9 voidcall [void System.Threading.Channels.Channel/UnboundedChannelConcurrentQueue`1:Enqueue (int)] [r0 <- R86] [r1 <- R87] clobbers: c processing: 8 loadi4_membase R87 <- [fp + 0x50] assigned dreg r1 to dest R87 freeable r1 (R87) (born in 8) 8 loadi4_membase r1 <- [fp + 0x50] processing: 7 add_imm R86 <- fp [104] assigned dreg r0 to dest R86 freeable r0 (R86) (born in 7) 7 add_imm r0 <- fp [104] processing: 6 il_seq_point il: 0x5f 6 il_seq_point il: 0x5f processing: 5 storei8_membase_reg [fp + 0x68] <- R140 assigned sreg1 r0 to R140 5 storei8_membase_reg [fp + 0x68] <- r0 processing: 4 loadi8_membase R140 <- [R138 + 0x0] assigned dreg r0 to dest R140 freeable r0 (R140) (born in 4) assigned sreg1 r0 to R138 4 loadi8_membase r0 <- [r0 + 0x0] processing: 3 add_imm R138 <- r25 [40] assigned dreg r0 to dest R138 freeable r0 (R138) (born in 3) 3 add_imm r0 <- r25 [40] processing: 2 il_seq_point il: 0x57 2 il_seq_point il: 0x57 processing: 1 il_seq_point intr il: 0x56 1 il_seq_point intr il: 0x56 LOCAL REGALLOC BLOCK 14: 1 il_seq_point intr il: 0x7f 2 il_seq_point il: 0x80 3 iconst R95 <- [1] 4 int_conv_to_u1 r22 <- R95 5 il_seq_point il: 0x83 6 store_membase_imm [fp + 0xa0] <- [0] 7 call_handler [B3] clobbers: c 8 load_membase R152 <- [fp + 0xa0] 9 nop 10 arm64_cbzx R152 liveness: r22 [4 - 4] liveness: fp [6 - 0] liveness: R95 [3 - 3] liveness: R152 [8 - 8] processing: 10 arm64_cbzx R152 assigned sreg1 r0 to R152 10 arm64_cbzx r0 processing: 9 nop 9 nop processing: 8 load_membase R152 <- [fp + 0xa0] assigned dreg r0 to dest R152 freeable r0 (R152) (born in 8) 8 load_membase r0 <- [fp + 0xa0] processing: 7 call_handler [B3] clobbers: c 7 call_handler [B3] clobbers: c processing: 6 store_membase_imm [fp + 0xa0] <- [0] 6 store_membase_imm [fp + 0xa0] <- [0] processing: 5 il_seq_point il: 0x83 5 il_seq_point il: 0x83 processing: 4 int_conv_to_u1 r22 <- R95 assigned sreg1 r0 to R95 4 int_conv_to_u1 r22 <- r0 processing: 3 iconst R95 <- [1] assigned dreg r0 to dest R95 freeable r0 (R95) (born in 3) 3 iconst r0 <- [1] processing: 2 il_seq_point il: 0x80 2 il_seq_point il: 0x80 processing: 1 il_seq_point intr il: 0x7f 1 il_seq_point intr il: 0x7f LOCAL REGALLOC BLOCK 29: 1 voidcall [ves_icall_thread_finish_async_abort] clobbers: c processing: 1 voidcall [ves_icall_thread_finish_async_abort] clobbers: c 1 voidcall [ves_icall_thread_finish_async_abort] clobbers: c LOCAL REGALLOC BLOCK 28: 1 br [B10] processing: 1 br [B10] 1 br [B10] LOCAL REGALLOC BLOCK 13: 1 il_seq_point intr il: 0x85 2 store_membase_imm [r25 + 0x38] <- [0] 3 il_seq_point il: 0x8c 4 il_seq_point il: 0x8d 5 br [B15] liveness: r25 [2 - 0] processing: 5 br [B15] 5 br [B15] processing: 4 il_seq_point il: 0x8d 4 il_seq_point il: 0x8d processing: 3 il_seq_point il: 0x8c 3 il_seq_point il: 0x8c processing: 2 store_membase_imm [r25 + 0x38] <- [0] 2 store_membase_imm [r25 + 0x38] <- [0] processing: 1 il_seq_point intr il: 0x85 1 il_seq_point intr il: 0x85 LOCAL REGALLOC BLOCK 11: 1 il_seq_point intr il: 0x8f 2 il_seq_point il: 0x90 3 load_membase R100 <- [r25 + 0x30] 4 move R102 <- R100 5 check_this [R100 + 0x0] 6 call r24 <- [System.Threading.Channels.AsyncOperation`1 System.Collections.Generic.Deque`1>:DequeueHead ()] [r0 <- R102] clobbers: c 7 il_seq_point il: 0x9b, nonempty-stack 8 il_seq_point il: 0x9c liveness: r24 [6 - 6] liveness: R100 [3 - 3] liveness: R102 [4 - 4] processing: 8 il_seq_point il: 0x9c 8 il_seq_point il: 0x9c processing: 7 il_seq_point il: 0x9b, nonempty-stack 7 il_seq_point il: 0x9b, nonempty-stack processing: 6 call r24 <- [System.Threading.Channels.AsyncOperation`1 System.Collections.Generic.Deque`1>:DequeueHead ()] [r0 <- R102] clobbers: c forced copy from r0 to r24 assigned arg ireg r0 to R102 6 call r0 <- [System.Threading.Channels.AsyncOperation`1 System.Collections.Generic.Deque`1>:DequeueHead ()] [r0 <- R102] clobbers: c processing: 5 check_this [R100 + 0x0] assigned sreg1 r1 to R100 5 check_this [r1 + 0x0] processing: 4 move R102 <- R100 assigned dreg r0 to dest R102 freeable r0 (R102) (born in 4) 4 move r0 <- r1 processing: 3 load_membase R100 <- [r25 + 0x30] assigned dreg r1 to dest R100 freeable r1 (R100) (born in 3) 3 load_membase r1 <- [r25 + 0x30] processing: 2 il_seq_point il: 0x90 2 il_seq_point il: 0x90 processing: 1 il_seq_point intr il: 0x8f 1 il_seq_point intr il: 0x8f LOCAL REGALLOC BLOCK 15: 1 il_seq_point intr il: 0x9d 2 il_seq_point il: 0x9e 3 store_membase_imm [fp + 0xa0] <- [0] 4 call_handler [B3] clobbers: c 5 load_membase R154 <- [fp + 0xa0] 6 nop 7 arm64_cbzx R154 liveness: fp [3 - 0] liveness: R154 [5 - 5] processing: 7 arm64_cbzx R154 assigned sreg1 r0 to R154 7 arm64_cbzx r0 processing: 6 nop 6 nop processing: 5 load_membase R154 <- [fp + 0xa0] assigned dreg r0 to dest R154 freeable r0 (R154) (born in 5) 5 load_membase r0 <- [fp + 0xa0] processing: 4 call_handler [B3] clobbers: c 4 call_handler [B3] clobbers: c processing: 3 store_membase_imm [fp + 0xa0] <- [0] 3 store_membase_imm [fp + 0xa0] <- [0] processing: 2 il_seq_point il: 0x9e 2 il_seq_point il: 0x9e processing: 1 il_seq_point intr il: 0x9d 1 il_seq_point intr il: 0x9d LOCAL REGALLOC BLOCK 31: 1 voidcall [ves_icall_thread_finish_async_abort] clobbers: c processing: 1 voidcall [ves_icall_thread_finish_async_abort] clobbers: c 1 voidcall [ves_icall_thread_finish_async_abort] clobbers: c LOCAL REGALLOC BLOCK 30: 1 br [B16] processing: 1 br [B16] 1 br [B16] LOCAL REGALLOC BLOCK 3: 1 start_handler 2 i8const R135 <- [4315302144] 3 gc_safe_point R135 clobbers: c 4 il_seq_point il: 0xa0 5 loadu1_membase R103 <- [fp + 0x80] 6 nop 7 arm64_cbzw R103 liveness: R103 [5 - 5] liveness: R135 [2 - 2] processing: 7 arm64_cbzw R103 assigned sreg1 r0 to R103 7 arm64_cbzw r0 processing: 6 nop 6 nop processing: 5 loadu1_membase R103 <- [fp + 0x80] assigned dreg r0 to dest R103 freeable r0 (R103) (born in 5) 5 loadu1_membase r0 <- [fp + 0x80] processing: 4 il_seq_point il: 0xa0 4 il_seq_point il: 0xa0 processing: 3 gc_safe_point R135 clobbers: c assigned sreg1 r0 to R135 3 gc_safe_point r0 clobbers: c processing: 2 i8const R135 <- [4315302144] assigned dreg r0 to dest R135 freeable r0 (R135) (born in 2) 2 i8const r0 <- [4315302144] processing: 1 start_handler 1 start_handler LOCAL REGALLOC BLOCK 18: 1 il_seq_point intr il: 0xa4 2 load_membase R105 <- [fp + 0x78] 3 voidcall [void System.Threading.Monitor:Exit (object)] [r0 <- R105] clobbers: c 4 il_seq_point il: 0xaa, nonempty-stack 5 il_seq_point il: 0xaa liveness: R105 [2 - 2] processing: 5 il_seq_point il: 0xaa 5 il_seq_point il: 0xaa processing: 4 il_seq_point il: 0xaa, nonempty-stack 4 il_seq_point il: 0xaa, nonempty-stack processing: 3 voidcall [void System.Threading.Monitor:Exit (object)] [r0 <- R105] clobbers: c assigned arg ireg r0 to R105 3 voidcall [void System.Threading.Monitor:Exit (object)] [r0 <- R105] clobbers: c processing: 2 load_membase R105 <- [fp + 0x78] assigned dreg r0 to dest R105 freeable r0 (R105) (born in 2) 2 load_membase r0 <- [fp + 0x78] processing: 1 il_seq_point intr il: 0xa4 1 il_seq_point intr il: 0xa4 LOCAL REGALLOC BLOCK 17: 1 il_seq_point intr il: 0xab 2 endfinally processing: 2 endfinally 2 endfinally processing: 1 il_seq_point intr il: 0xab 1 il_seq_point intr il: 0xab LOCAL REGALLOC BLOCK 16: 1 il_seq_point intr il: 0xac 2 lcompare_imm r24 3 long_cgt_un R108 <- 4 int_conv_to_u1 r19 <- R108 5 il_seq_point il: 0xb2 6 move R110 <- r19 7 nop 8 arm64_cbzw R110 liveness: r19 [4 - 4] liveness: R108 [3 - 3] liveness: R110 [6 - 6] processing: 8 arm64_cbzw R110 assigned sreg1 r0 to R110 8 arm64_cbzw r0 processing: 7 nop 7 nop processing: 6 move R110 <- r19 assigned dreg r0 to dest R110 freeable r0 (R110) (born in 6) 6 move r0 <- r19 processing: 5 il_seq_point il: 0xb2 5 il_seq_point il: 0xb2 processing: 4 int_conv_to_u1 r19 <- R108 assigned sreg1 r0 to R108 4 int_conv_to_u1 r19 <- r0 processing: 3 long_cgt_un R108 <- assigned dreg r0 to dest R108 freeable r0 (R108) (born in 3) 3 long_cgt_un r0 <- processing: 2 lcompare_imm r24 2 lcompare_imm r24 processing: 1 il_seq_point intr il: 0xac 1 il_seq_point intr il: 0xac LOCAL REGALLOC BLOCK 20: 1 il_seq_point intr il: 0xb6 2 il_seq_point il: 0xb7 3 move R114 <- r24 4 loadi4_membase R115 <- [fp + 0x50] 5 check_this [r24 + 0x0] 6 call R113 <- [bool System.Threading.Channels.AsyncOperation`1:TrySetResult (int)] [r0 <- R114] [r1 <- R115] clobbers: c 7 int_conv_to_u1 R116 <- R113 8 il_seq_point il: 0xbe, nonempty-stack 9 int_conv_to_u1 R155 <- R116 10 storei1_membase_reg [fp + 0x88] <- R116 11 il_seq_point il: 0xc0 12 nop 13 arm64_cbzw R155 liveness: fp [10 - 0] liveness: R113 [6 - 6] liveness: R114 [3 - 3] liveness: R115 [4 - 4] liveness: R116 [7 - 7] liveness: R155 [9 - 9] processing: 13 arm64_cbzw R155 assigned sreg1 r0 to R155 13 arm64_cbzw r0 processing: 12 nop 12 nop processing: 11 il_seq_point il: 0xc0 11 il_seq_point il: 0xc0 processing: 10 storei1_membase_reg [fp + 0x88] <- R116 assigned sreg1 r1 to R116 10 storei1_membase_reg [fp + 0x88] <- r1 processing: 9 int_conv_to_u1 R155 <- R116 assigned dreg r0 to dest R155 freeable r0 (R155) (born in 9) 9 int_conv_to_u1 r0 <- r1 processing: 8 il_seq_point il: 0xbe, nonempty-stack 8 il_seq_point il: 0xbe, nonempty-stack processing: 7 int_conv_to_u1 R116 <- R113 assigned dreg r1 to dest R116 freeable r1 (R116) (born in 7) allocated preferred reg R113 to r0 assigned sreg1 r0 to R113 7 int_conv_to_u1 r1 <- r0 processing: 6 call R113 <- [bool System.Threading.Channels.AsyncOperation`1:TrySetResult (int)] [r0 <- R114] [r1 <- R115] clobbers: c assigned dreg r0 to dest R113 freeable r0 (R113) (born in 6) assigned arg ireg r0 to R114 assigned arg ireg r1 to R115 6 call r0 <- [bool System.Threading.Channels.AsyncOperation`1:TrySetResult (int)] [r0 <- R114] [r1 <- R115] clobbers: c processing: 5 check_this [r24 + 0x0] 5 check_this [r24 + 0x0] processing: 4 loadi4_membase R115 <- [fp + 0x50] assigned dreg r1 to dest R115 freeable r1 (R115) (born in 4) 4 loadi4_membase r1 <- [fp + 0x50] processing: 3 move R114 <- r24 assigned dreg r0 to dest R114 freeable r0 (R114) (born in 3) 3 move r0 <- r24 processing: 2 il_seq_point il: 0xb7 2 il_seq_point il: 0xb7 processing: 1 il_seq_point intr il: 0xb6 1 il_seq_point intr il: 0xb6 LOCAL REGALLOC BLOCK 22: 1 il_seq_point intr il: 0xc4 2 il_seq_point il: 0xc5 3 iconst R119 <- [1] 4 int_conv_to_u1 r22 <- R119 5 il_seq_point il: 0xc8 6 br [B10] liveness: r22 [4 - 4] liveness: R119 [3 - 3] processing: 6 br [B10] 6 br [B10] processing: 5 il_seq_point il: 0xc8 5 il_seq_point il: 0xc8 processing: 4 int_conv_to_u1 r22 <- R119 assigned sreg1 r0 to R119 4 int_conv_to_u1 r22 <- r0 processing: 3 iconst R119 <- [1] assigned dreg r0 to dest R119 freeable r0 (R119) (born in 3) 3 iconst r0 <- [1] processing: 2 il_seq_point il: 0xc5 2 il_seq_point il: 0xc5 processing: 1 il_seq_point intr il: 0xc4 1 il_seq_point intr il: 0xc4 LOCAL REGALLOC BLOCK 19: 1 il_seq_point intr il: 0xcd 2 il_seq_point il: 0xce 3 add_imm R124 <- fp [112] 4 iconst R125 <- [1] 5 i8const R126 <- [0] 6 voidcall [void System.Threading.Channels.ChannelUtilities:WakeUpWaiters (System.Threading.Channels.AsyncOperation`1&,bool,System.Exception)] [r0 <- R124] [r1 <- R125] [r2 <- R126] clobbers: c 7 il_seq_point il: 0xd7, nonempty-stack 8 il_seq_point il: 0xd7 9 il_seq_point il: 0xd8 10 iconst R127 <- [1] 11 int_conv_to_u1 r22 <- R127 12 il_seq_point il: 0xdb 13 br [B10] liveness: r22 [11 - 11] liveness: R124 [3 - 3] liveness: R125 [4 - 4] liveness: R126 [5 - 5] liveness: R127 [10 - 10] processing: 13 br [B10] 13 br [B10] processing: 12 il_seq_point il: 0xdb 12 il_seq_point il: 0xdb processing: 11 int_conv_to_u1 r22 <- R127 assigned sreg1 r0 to R127 11 int_conv_to_u1 r22 <- r0 processing: 10 iconst R127 <- [1] assigned dreg r0 to dest R127 freeable r0 (R127) (born in 10) 10 iconst r0 <- [1] processing: 9 il_seq_point il: 0xd8 9 il_seq_point il: 0xd8 processing: 8 il_seq_point il: 0xd7 8 il_seq_point il: 0xd7 processing: 7 il_seq_point il: 0xd7, nonempty-stack 7 il_seq_point il: 0xd7, nonempty-stack processing: 6 voidcall [void System.Threading.Channels.ChannelUtilities:WakeUpWaiters (System.Threading.Channels.AsyncOperation`1&,bool,System.Exception)] [r0 <- R124] [r1 <- R125] [r2 <- R126] clobbers: c assigned arg ireg r0 to R124 assigned arg ireg r1 to R125 assigned arg ireg r2 to R126 6 voidcall [void System.Threading.Channels.ChannelUtilities:WakeUpWaiters (System.Threading.Channels.AsyncOperation`1&,bool,System.Exception)] [r0 <- R124] [r1 <- R125] [r2 <- R126] clobbers: c processing: 5 i8const R126 <- [0] assigned dreg r2 to dest R126 freeable r2 (R126) (born in 5) 5 i8const r2 <- [0] processing: 4 iconst R125 <- [1] assigned dreg r1 to dest R125 freeable r1 (R125) (born in 4) 4 iconst r1 <- [1] processing: 3 add_imm R124 <- fp [112] assigned dreg r0 to dest R124 freeable r0 (R124) (born in 3) 3 add_imm r0 <- fp [112] processing: 2 il_seq_point il: 0xce 2 il_seq_point il: 0xce processing: 1 il_seq_point intr il: 0xcd 1 il_seq_point intr il: 0xcd LOCAL REGALLOC BLOCK 6: 1 il_seq_point intr il: 0xde 2 iconst R129 <- [1] 3 storei1_membase_reg [fp + 0x90] <- R129 4 il_seq_point il: 0xe1 5 br [B7] liveness: fp [3 - 0] liveness: R129 [2 - 2] processing: 5 br [B7] 5 br [B7] processing: 4 il_seq_point il: 0xe1 4 il_seq_point il: 0xe1 processing: 3 storei1_membase_reg [fp + 0x90] <- R129 assigned sreg1 r0 to R129 3 storei1_membase_reg [fp + 0x90] <- r0 processing: 2 iconst R129 <- [1] assigned dreg r0 to dest R129 freeable r0 (R129) (born in 2) 2 iconst r0 <- [1] processing: 1 il_seq_point intr il: 0xde 1 il_seq_point intr il: 0xde LOCAL REGALLOC BLOCK 10: 1 il_seq_point intr il: 0xe6 2 il_seq_point intr il: 0xe8 3 move r0 <- r22 liveness: r0 [3 - 3] processing: 3 move r0 <- r22 3 move r0 <- r22 processing: 2 il_seq_point intr il: 0xe8 2 il_seq_point intr il: 0xe8 processing: 1 il_seq_point intr il: 0xe6 1 il_seq_point intr il: 0xe6 CFA: [0] def_cfa: sp+0x0 CFA: [4] def_cfa_offset: 0xb0 CFA: [4] offset: fp at cfa-0xb0 CFA: [4] offset: lr at cfa-0xa8 CFA: [8] def_cfa_reg: fp CFA: [c] offset: r19 at cfa-0xa0 CFA: [c] offset: r20 at cfa-0x98 CFA: [10] offset: r21 at cfa-0x90 CFA: [10] offset: r22 at cfa-0x88 CFA: [14] offset: r23 at cfa-0x80 CFA: [14] offset: r24 at cfa-0x78 CFA: [18] offset: r25 at cfa-0x70 CFA: [18] offset: r26 at cfa-0x68 Basic block 0 starting at offset 0x20 Basic block 4 starting at offset 0x38 Basic block 7 starting at offset 0x50 Basic block 2 starting at offset 0x88 Basic block 25 starting at offset 0xa8 Basic block 24 starting at offset 0xb4 Basic block 9 starting at offset 0xd8 Basic block 27 starting at offset 0xf0 Basic block 26 starting at offset 0xf4 Basic block 8 starting at offset 0xf8 Basic block 12 starting at offset 0x118 Basic block 14 starting at offset 0x150 Basic block 29 starting at offset 0x168 Basic block 28 starting at offset 0x16c Basic block 13 starting at offset 0x170 Basic block 11 starting at offset 0x178 Basic block 15 starting at offset 0x18c Basic block 31 starting at offset 0x19c Basic block 30 starting at offset 0x1a0 Basic block 3 starting at offset 0x1a4 Basic block 18 starting at offset 0x1c8 Basic block 17 starting at offset 0x1d0 Basic block 16 starting at offset 0x1d8 Basic block 20 starting at offset 0x1ec Basic block 22 starting at offset 0x20c Basic block 19 starting at offset 0x218 Basic block 6 starting at offset 0x234 Basic block 10 starting at offset 0x240 Basic block 1 starting at offset 0x244 Method bool System.Threading.Channels.UnboundedChannel`2/UnboundedChannelWriter>:TryWrite (int) emitted at 0x1019c4648 to 0x1019c48a8 (code length 608) Number of try block holes 8 Try block hole at eh clause 0 offset e8 length 8 Try block hole at eh clause 0 offset f0 length 4 Try block hole at eh clause 0 offset f4 length 4 Try block hole at eh clause 0 offset 160 length 8 Try block hole at eh clause 0 offset 168 length 4 Try block hole at eh clause 0 offset 16c length 4 Try block hole at eh clause 0 offset 194 length 8 Try block hole at eh clause 0 offset 19c length 4 IL clause: try 0x1c-0xa0 handler 0xa0-0xac filter 0x0 looking for end of try [28, 132] -> 0x12f831e58 (code size 233) Shortening try block 0 from 1a4 to 1a0 JitInfo EH clause 0 flags 2 try 88-1a0 handler 1a4-1d8 *** ASM for System.Threading.Channels.UnboundedChannel`2/UnboundedChannelWriter>:TryWrite (int) *** /var/folders/1r/f8r2xtq91zvbp_0y1x5_r36m0000gn/T/.WXvAbH: (__TEXT,__text) section tem_Threading_Channels_UnboundedChannel_2_UnboundedChannelWriter_int__System_Threading_Channels_Channel_UnboundedChannelConcurrentQueue_1_int___TryWrite__int_: 0000000000000000 stp x29, x30, [sp, #-0xb0]! 0000000000000004 mov x29, sp 0000000000000008 stp x19, x20, [x29, #0x10] 000000000000000c stp x21, x22, [x29, #0x20] 0000000000000010 stp x23, x24, [x29, #0x30] 0000000000000014 stp x25, x26, [x29, #0x40] 0000000000000018 mov x25, x0 000000000000001c str x1, [x29, #0x50] 0000000000000020 mov x0, #0x4900 0000000000000024 movk x0, #0x136, lsl #16 0000000000000028 movk x0, #0x1, lsl #32 000000000000002c ldr x17, [x0] 0000000000000030 cbz x17, 0x38 0000000000000034 bl 0xffffffffffff64f8 0000000000000038 str xzr, [x29, #0x70] 000000000000003c str xzr, [x29, #0x78] 0000000000000040 strb wzr, [x29, #0x80] 0000000000000044 str xzr, [x29, #0x68] 0000000000000048 ldr x25, [x25, #0x10] 000000000000004c b 0x234 0000000000000050 mov x0, #0x4900 0000000000000054 movk x0, #0x136, lsl #16 0000000000000058 movk x0, #0x1, lsl #32 000000000000005c ldr x17, [x0] 0000000000000060 cbz x17, 0x68 0000000000000064 bl 0xffffffffffff64f8 0000000000000068 mov x24, #0x0 000000000000006c str xzr, [x29, #0x70] 0000000000000070 mov x0, x25 0000000000000074 ldrb w30, [x25] 0000000000000078 bl 0x550 000000000000007c str x0, [x29, #0x78] 0000000000000080 movz x0, #0x0, lsl #16 0000000000000084 strb w0, [x29, #0x80] 0000000000000088 ldr x26, [x29, #0x78] 000000000000008c add x0, x29, #0x80 0000000000000090 str x0, [x29, #0x98] 0000000000000094 mov x0, x26 0000000000000098 add x1, x29, #0x80 000000000000009c bl 0xfffffffffe96f818 00000000000000a0 sxtw x0, w0 00000000000000a4 cbnz w0, 0xb4 00000000000000a8 mov x0, x26 00000000000000ac ldr x1, [x29, #0x98] 00000000000000b0 bl 0xffffffffffffff80 00000000000000b4 mov x0, x25 00000000000000b8 ldrb w30, [x25] 00000000000000bc bl 0x510 00000000000000c0 ldr x0, [x25, #0x40] 00000000000000c4 cmp x0, xzr 00000000000000c8 cset x0, hi 00000000000000cc uxtb w23, w0 00000000000000d0 mov x0, x23 00000000000000d4 cbz w0, 0xf8 00000000000000d8 movz x0, #0x0, lsl #16 00000000000000dc uxtb w22, w0 00000000000000e0 str xzr, [x29, #0xa0] 00000000000000e4 bl 0x1a4 00000000000000e8 ldr x0, [x29, #0xa0] 00000000000000ec cbz x0, 0xf4 00000000000000f0 bl 0xffffffffffffffc0 00000000000000f4 b 0x240 00000000000000f8 ldr x1, [x25, #0x30] 00000000000000fc mov x0, x1 0000000000000100 ldrb w30, [x1] 0000000000000104 bl 0x4d0 0000000000000108 uxtb w0, w0 000000000000010c uxtb w21, w0 0000000000000110 mov x0, x21 0000000000000114 cbz w0, 0x178 0000000000000118 add x0, x25, #0x28 000000000000011c ldr x0, [x0] 0000000000000120 str x0, [x29, #0x68] 0000000000000124 add x0, x29, #0x68 0000000000000128 ldrsw x1, [x29, #0x50] 000000000000012c bl 0x490 0000000000000130 ldr x0, [x25, #0x38] 0000000000000134 str x0, [x29, #0x70] 0000000000000138 ldr x0, [x29, #0x70] 000000000000013c cmp x0, xzr 0000000000000140 cset x0, eq 0000000000000144 uxtb w20, w0 0000000000000148 mov x0, x20 000000000000014c cbz w0, 0x170 0000000000000150 mov x0, #0x1 0000000000000154 uxtb w22, w0 0000000000000158 str xzr, [x29, #0xa0] 000000000000015c bl 0x1a4 0000000000000160 ldr x0, [x29, #0xa0] 0000000000000164 cbz x0, 0x16c 0000000000000168 bl 0xffffffffffffffc0 000000000000016c b 0x240 0000000000000170 str xzr, [x25, #0x38] 0000000000000174 b 0x18c 0000000000000178 ldr x1, [x25, #0x30] 000000000000017c mov x0, x1 0000000000000180 ldrb w30, [x1] 0000000000000184 bl 0x450 0000000000000188 mov x24, x0 000000000000018c str xzr, [x29, #0xa0] 0000000000000190 bl 0x1a4 0000000000000194 ldr x0, [x29, #0xa0] 0000000000000198 cbz x0, 0x1a0 000000000000019c bl 0xffffffffffffffc0 00000000000001a0 b 0x1d8 00000000000001a4 str x30, [x29, #0x60] 00000000000001a8 mov x0, #0x4900 00000000000001ac movk x0, #0x136, lsl #16 00000000000001b0 movk x0, #0x1, lsl #32 00000000000001b4 ldr x17, [x0] 00000000000001b8 cbz x17, 0x1c0 00000000000001bc bl 0xffffffffffff64f8 00000000000001c0 ldrb w0, [x29, #0x80] 00000000000001c4 cbz w0, 0x1d0 00000000000001c8 ldr x0, [x29, #0x78] 00000000000001cc bl 0x410 00000000000001d0 ldr x30, [x29, #0x60] 00000000000001d4 br x30 00000000000001d8 cmp x24, xzr 00000000000001dc cset x0, hi 00000000000001e0 uxtb w19, w0 00000000000001e4 mov x0, x19 00000000000001e8 cbz w0, 0x218 00000000000001ec mov x0, x24 00000000000001f0 ldrsw x1, [x29, #0x50] 00000000000001f4 ldrb w30, [x24] 00000000000001f8 bl 0x3d0 00000000000001fc uxtb w1, w0 0000000000000200 uxtb w0, w1 0000000000000204 strb w1, [x29, #0x88] 0000000000000208 cbz w0, 0x234 000000000000020c mov x0, #0x1 0000000000000210 uxtb w22, w0 0000000000000214 b 0x240 0000000000000218 add x0, x29, #0x70 000000000000021c mov x1, #0x1 0000000000000220 mov x2, #0x0 0000000000000224 bl 0x390 0000000000000228 mov x0, #0x1 000000000000022c uxtb w22, w0 0000000000000230 b 0x240 0000000000000234 mov x0, #0x1 0000000000000238 strb w0, [x29, #0x90] 000000000000023c b 0x50 0000000000000240 mov x0, x22 0000000000000244 ldp x19, x20, [x29, #0x10] 0000000000000248 ldp x21, x22, [x29, #0x20] 000000000000024c ldp x23, x24, [x29, #0x30] 0000000000000250 ldp x25, x26, [x29, #0x40] 0000000000000254 mov sp, x29 0000000000000258 ldp x29, x30, [sp], #0xb0 000000000000025c ret ***