Skip to content

Instantly share code, notes, and snippets.

@timfel
Last active December 13, 2015 18:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save timfel/4953598 to your computer and use it in GitHub Desktop.
Save timfel/4953598 to your computer and use it in GitHub Desktop.
[86efafb9d4101] {jit-log-opt-loop
# Loop 0 (each at LOAD_DEREF) : loop with 134 ops
[p0, p1]
+33: i2 = getfield_gc(p1, descr=<FieldS topaz.frame.Frame.inst_stackpos 60>)
+39: p3 = getfield_gc(p1, descr=<FieldP topaz.frame.Frame.inst_w_self 64>)
+42: p4 = getfield_gc(p1, descr=<FieldP topaz.frame.Frame.inst_lastblock 40>)
+45: p5 = getfield_gc(p1, descr=<FieldP topaz.frame.Frame.inst_lexical_scope 44>)
+48: p6 = getfield_gc(p1, descr=<FieldP topaz.frame.Frame.inst_parent_interp 52>)
+51: p7 = getfield_gc(p1, descr=<FieldP topaz.frame.Frame.inst_block 24>)
+57: i8 = getfield_gc(p1, descr=<FieldS topaz.frame.Frame.inst_last_instr 36>)
+63: p9 = getfield_gc(p1, descr=<FieldP topaz.frame.Frame.inst_bytecode 28>)
+69: p10 = getfield_gc(p1, descr=<FieldP topaz.frame.Frame.inst_localsstack_w 48>)
+75: p12 = getarrayitem_gc(p10, 0, descr=<ArrayP 4>)
+81: p14 = getarrayitem_gc(p10, 1, descr=<ArrayP 4>)
+87: p16 = getarrayitem_gc(p10, 2, descr=<ArrayP 4>)
+90: p18 = getarrayitem_gc(p10, 3, descr=<ArrayP 4>)
+96: p20 = getarrayitem_gc(p10, 4, descr=<ArrayP 4>)
+102: p22 = getarrayitem_gc(p10, 5, descr=<ArrayP 4>)
+108: p24 = getarrayitem_gc(p10, 6, descr=<ArrayP 4>)
+114: p26 = getarrayitem_gc(p10, 7, descr=<ArrayP 4>)
+120: p28 = getarrayitem_gc(p10, 8, descr=<ArrayP 4>)
+123: p29 = getfield_gc(p1, descr=<FieldP topaz.frame.Frame.inst_cells 32>)
+135: p31 = getarrayitem_gc(p29, 0, descr=<ArrayP 4>)
+138: p33 = getarrayitem_gc(p29, 1, descr=<ArrayP 4>)
+141: label(p0, p1, i2, p3, p4, p5, p6, p7, i8, p9, p12, p14, p16, p18, p20, p22, p24, p26, p28, p31, p33, descr=TargetToken(-149647344))
debug_merge_point(0, 0, 'each at LOAD_DEREF')
+153: guard_not_invalidated(descr=<Guard3>) [p1, p0, i8, i2, p3, p4, p5, p6, p7, p9, p12, p14, p16, p18, p20, p22, p24, p26, p28, p31, p33]
+153: guard_class(p33, 139583808, descr=<Guard4>) [p1, p0, p33, i2, p3, p4, p5, p6, p7, p9, p12, p14, p16, p18, p20, p22, p24, p26, p28, p31]
+166: guard_nonnull_class(p14, 139593504, descr=<Guard5>) [p1, p0, p14, i2, p3, p4, p5, p6, p7, p9, p12, p16, p18, p20, p22, p24, p26, p28, p31, p33]
+187: guard_value(i2, 2, descr=<Guard6>) [p1, p0, i2, p14, p3, p4, p5, p6, p7, p9, p12, p16, p18, p20, p22, p24, p26, p28, p31, p33]
+196: guard_nonnull(p7, descr=<Guard7>) [p1, p0, p7, p3, p4, p5, p6, p9, p12, p14, p18, p20, p22, p24, p26, p28, p31, p33]
+207: p37 = getfield_gc(p7, descr=<FieldP topaz.objects.blockobject.W_BlockObject.inst_bytecode 12>)
+210: p39 = call(ConstClass(getexecutioncontext), descr=<Callr 4 EF=1>)
+221: guard_value(p37, ConstPtr(ptr40), descr=<Guard8>) [p1, p0, p37, p3, p4, p5, p6, p7, p9, p12, p14, p18, p20, p22, p24, p26, p28, p31, p33]
debug_merge_point(0, 0, 'each at LOAD_SELF')
+236: guard_class(p3, 139579904, descr=<Guard9>) [p1, p0, p3, p4, p5, p6, p7, p9, p12, p14, p18, p20, p22, p24, p26, p28, p31, p33]
+252: p42 = getfield_gc(p3, descr=<FieldP topaz.objects.objectobject.W_Object.inst_map 8>)
+255: guard_value(p42, ConstPtr(ptr43), descr=<Guard10>) [p1, p0, p3, p42, p4, p5, p6, p7, p9, p12, p14, p18, p20, p22, p24, p26, p28, p31, p33]
debug_merge_point(0, 0, 'each at SEND')
+267: p45 = getfield_gc(ConstPtr(ptr44), descr=<FieldP topaz.executioncontext.ExecutionContext.inst_regexp_match_cell 12>)
+273: p46 = getfield_gc(ConstPtr(ptr44), descr=<FieldP topaz.executioncontext.ExecutionContext.inst_topframeref 16>)
+279: i47 = force_token()
+279: p48 = getfield_gc(p3, descr=<FieldP topaz.objects.rangeobject.W_RangeObject.inst_w_end 16>)
+282: setfield_gc(ConstPtr(ptr44), -1, descr=<FieldS topaz.executioncontext.ExecutionContext.inst_last_instr 8>)
+292: guard_nonnull_class(p48, 139593504, descr=<Guard11>) [p1, p0, p48, p3, p4, p5, p6, p7, p9, p12, p14, p20, p22, p24, p26, p28, p31, p33, p45, i47, p46]
debug_merge_point(0, 0, 'each at SEND')
+310: setfield_gc(ConstPtr(ptr51), 183, descr=<FieldS topaz.executioncontext.ExecutionContext.inst_last_instr 8>)
+320: i53 = force_token()
+320: setfield_gc(ConstPtr(ptr54), -1, descr=<FieldS topaz.executioncontext.ExecutionContext.inst_last_instr 8>)
+330: i56 = getfield_gc_pure(p48, descr=<FieldS topaz.objects.intobject.W_FixnumObject.inst_intvalue 8>)
+333: f57 = cast_int_to_float(i56)
+337: i58 = getfield_gc_pure(p14, descr=<FieldS topaz.objects.intobject.W_FixnumObject.inst_intvalue 8>)
+340: f59 = cast_int_to_float(i58)
+344: i60 = float_lt(f59, f57)
guard_true(i60, descr=<Guard12>) [p1, p0, p14, f57, p3, p4, p5, p6, p7, p9, p12, p20, p22, p24, p26, p28, p31, p33, i53, p45, None, p46]
debug_merge_point(0, 0, 'each at LOAD_CONST')
debug_merge_point(0, 0, 'each at SEND')
+357: i62 = force_token()
debug_merge_point(0, 0, 'each at JUMP_IF_FALSE')
debug_merge_point(0, 0, 'each at LOAD_DEREF')
debug_merge_point(0, 0, 'each at YIELD')
+357: p63 = getfield_gc(p7, descr=<FieldP topaz.objects.blockobject.W_BlockObject.inst_w_self 32>)
+360: p64 = getfield_gc(p7, descr=<FieldP topaz.objects.blockobject.W_BlockObject.inst_lexical_scope 20>)
+369: p65 = getfield_gc(p7, descr=<FieldP topaz.objects.blockobject.W_BlockObject.inst_block 8>)
+375: p66 = getfield_gc(p7, descr=<FieldP topaz.objects.blockobject.W_BlockObject.inst_parent_interp 24>)
+384: p67 = getfield_gc(p7, descr=<FieldP topaz.objects.blockobject.W_BlockObject.inst_regexp_match_cell 28>)
+390: setfield_gc(ConstPtr(ptr68), 200, descr=<FieldS topaz.executioncontext.ExecutionContext.inst_last_instr 8>)
+400: guard_nonnull(p63, descr=<Guard13>) [p1, p0, p7, p67, p66, p65, p64, p63, p3, p4, p5, p6, p9, p12, p14, p20, p22, p24, p26, p28, p31, p33, None, None, None, None]
+408: guard_nonnull(p67, descr=<Guard14>) [p1, p0, p7, p67, p66, p65, p64, p63, p3, p4, p5, p6, p9, p12, p14, p20, p22, p24, p26, p28, p31, p33, None, None, None, None]
+416: p70 = getfield_gc(p7, descr=<FieldP topaz.objects.blockobject.W_BlockObject.inst_cells 16>)
+425: p72 = getarrayitem_gc_pure(p70, 0, descr=<ArrayP 4>)
+431: i73 = force_token()
+431: setfield_gc(ConstPtr(ptr74), -1, descr=<FieldS topaz.executioncontext.ExecutionContext.inst_last_instr 8>)
setfield_gc(ConstPtr(ptr74), p67, descr=<FieldP topaz.executioncontext.ExecutionContext.inst_regexp_match_cell 12>)
+466: guard_isnull(p65, descr=<Guard15>) [p1, p0, p65, p3, p4, p5, p6, p7, p9, p12, p14, p20, p22, p24, p26, p28, p31, p33, p63, p66, p67, i73, p64, p72, None, p45, None, p46]
debug_merge_point(1, 1, 'block in <main> at LOAD_DEREF')
debug_merge_point(1, 1, 'block in <main> at STORE_DEREF')
+474: guard_class(p72, 139580544, descr=<Guard16>) [p1, p0, p72, p14, p3, p4, p5, p6, p7, p9, p12, p20, p22, p24, p26, p28, p31, p33, p63, p66, p67, i73, p64, None, None, p45, None, p46]
debug_merge_point(1, 1, 'block in <main> at RETURN')
debug_merge_point(0, 0, 'each at DISCARD_TOP')
debug_merge_point(0, 0, 'each at LOAD_DEREF')
debug_merge_point(0, 0, 'each at SEND')
+487: i77 = force_token()
debug_merge_point(1, 2, 'succ at LOAD_SELF')
debug_merge_point(1, 2, 'succ at LOAD_CONST')
debug_merge_point(1, 2, 'succ at SEND')
+487: i78 = force_token()
+487: setfield_gc(p72, i58, descr=<FieldS topaz.closure.IntCell.inst_intvalue 12>)
+493: setfield_gc(p72, ConstPtr(ptr79), descr=<FieldP topaz.closure.ClosureCell.inst_w_value 8>)
+500: i81 = int_add_ovf(i58, 1)
guard_no_overflow(descr=<Guard17>) [p1, p0, i81, p14, p3, p4, p5, p6, p7, p9, p12, p20, p22, p24, p26, p28, p31, p33, i77, i78, None, None, None, None, None, None, None, p45, None, p46]
debug_merge_point(1, 2, 'succ at RETURN')
debug_merge_point(0, 0, 'each at STORE_DEREF')
debug_merge_point(0, 0, 'each at DISCARD_TOP')
debug_merge_point(0, 0, 'each at JUMP')
debug_merge_point(0, 0, 'each at LOAD_DEREF')
setfield_gc(ConstPtr(ptr82), p45, descr=<FieldP topaz.executioncontext.ExecutionContext.inst_regexp_match_cell 12>)
+537: i83 = same_as(i81)
+537: label(p0, p1, p3, p4, p5, p6, p7, p9, p12, i81, p20, p22, p24, p26, p28, p31, p33, f57, p45, p46, p72, p70, descr=TargetToken(-149647296))
debug_merge_point(0, 0, 'each at LOAD_DEREF')
+537: guard_not_invalidated(descr=<Guard18>) [p1, p0, p3, p4, p5, p6, p7, p9, p12, p20, p22, p24, p26, p28, p31, p33, i81]
debug_merge_point(0, 0, 'each at LOAD_SELF')
debug_merge_point(0, 0, 'each at SEND')
+537: i84 = force_token()
debug_merge_point(0, 0, 'each at SEND')
+537: i85 = force_token()
+537: f86 = cast_int_to_float(i81)
+541: i87 = float_lt(f86, f57)
guard_true(i87, descr=<Guard19>) [p1, p0, f57, p3, p4, p5, p6, p7, p9, p12, p20, p22, p24, p26, p28, p31, p33, p45, i85, p46, i81]
debug_merge_point(0, 0, 'each at LOAD_CONST')
debug_merge_point(0, 0, 'each at SEND')
+554: i88 = force_token()
debug_merge_point(0, 0, 'each at JUMP_IF_FALSE')
debug_merge_point(0, 0, 'each at LOAD_DEREF')
debug_merge_point(0, 0, 'each at YIELD')
+554: i89 = force_token()
debug_merge_point(1, 1, 'block in <main> at LOAD_DEREF')
debug_merge_point(1, 1, 'block in <main> at STORE_DEREF')
debug_merge_point(1, 1, 'block in <main> at RETURN')
debug_merge_point(0, 0, 'each at DISCARD_TOP')
debug_merge_point(0, 0, 'each at LOAD_DEREF')
debug_merge_point(0, 0, 'each at SEND')
+554: i90 = force_token()
debug_merge_point(1, 2, 'succ at LOAD_SELF')
debug_merge_point(1, 2, 'succ at LOAD_CONST')
debug_merge_point(1, 2, 'succ at SEND')
+554: i91 = force_token()
+554: setfield_gc(p72, i81, descr=<FieldS topaz.closure.IntCell.inst_intvalue 12>)
+557: i92 = int_add_ovf(i81, 1)
guard_no_overflow(descr=<Guard20>) [p1, p0, i92, p3, p4, p5, p6, p7, p9, p12, p20, p22, p24, p26, p28, p31, p33, i91, i90, p45, None, p46, i81]
debug_merge_point(1, 2, 'succ at RETURN')
debug_merge_point(0, 0, 'each at STORE_DEREF')
debug_merge_point(0, 0, 'each at DISCARD_TOP')
debug_merge_point(0, 0, 'each at JUMP')
debug_merge_point(0, 0, 'each at LOAD_DEREF')
+568: i93 = arraylen_gc(p70, descr=<ArrayP 4>)
+568: jump(p0, p1, p3, p4, p5, p6, p7, p9, p12, i92, p20, p22, p24, p26, p28, p31, p33, f57, p45, p46, p72, p70, descr=TargetToken(-149647296))
+573: --end of the loop--
[86efafba8f936] jit-log-opt-loop}
[86f0126ce30b8] {jit-log-opt-loop
# Loop 0 (each at LOAD_DEREF) : loop with 134 ops
[p0, p1]
+54: i2 = getfield_gc(p1, descr=<FieldS topaz.frame.Frame.inst_stackpos 112>)
+58: p3 = getfield_gc(p1, descr=<FieldP topaz.frame.Frame.inst_w_self 120>)
+62: p4 = getfield_gc(p1, descr=<FieldP topaz.frame.Frame.inst_lastblock 72>)
+66: p5 = getfield_gc(p1, descr=<FieldP topaz.frame.Frame.inst_lexical_scope 80>)
+70: p6 = getfield_gc(p1, descr=<FieldP topaz.frame.Frame.inst_parent_interp 96>)
+74: p7 = getfield_gc(p1, descr=<FieldP topaz.frame.Frame.inst_block 40>)
+78: i8 = getfield_gc(p1, descr=<FieldS topaz.frame.Frame.inst_last_instr 64>)
+82: p9 = getfield_gc(p1, descr=<FieldP topaz.frame.Frame.inst_bytecode 48>)
+86: p10 = getfield_gc(p1, descr=<FieldP topaz.frame.Frame.inst_localsstack_w 88>)
+90: p12 = getarrayitem_gc(p10, 0, descr=<ArrayP 8>)
+94: p14 = getarrayitem_gc(p10, 1, descr=<ArrayP 8>)
+98: p16 = getarrayitem_gc(p10, 2, descr=<ArrayP 8>)
+109: p18 = getarrayitem_gc(p10, 3, descr=<ArrayP 8>)
+120: p20 = getarrayitem_gc(p10, 4, descr=<ArrayP 8>)
+131: p22 = getarrayitem_gc(p10, 5, descr=<ArrayP 8>)
+142: p24 = getarrayitem_gc(p10, 6, descr=<ArrayP 8>)
+153: p26 = getarrayitem_gc(p10, 7, descr=<ArrayP 8>)
+164: p28 = getarrayitem_gc(p10, 8, descr=<ArrayP 8>)
+168: p29 = getfield_gc(p1, descr=<FieldP topaz.frame.Frame.inst_cells 56>)
+186: p31 = getarrayitem_gc(p29, 0, descr=<ArrayP 8>)
+197: p33 = getarrayitem_gc(p29, 1, descr=<ArrayP 8>)
+201: label(p0, p1, i2, p3, p4, p5, p6, p7, i8, p9, p12, p14, p16, p18, p20, p22, p24, p26, p28, p31, p33, descr=TargetToken(139943942070392))
debug_merge_point(0, 0, 'each at LOAD_DEREF')
+264: guard_not_invalidated(descr=<Guard3>) [p1, p0, i8, i2, p3, p4, p5, p6, p7, p9, p12, p14, p16, p18, p20, p22, p24, p26, p28, p31, p33]
+264: guard_class(p33, 10870328, descr=<Guard4>) [p1, p0, p33, i2, p3, p4, p5, p6, p7, p9, p12, p14, p16, p18, p20, p22, p24, p26, p28, p31]
+276: guard_nonnull_class(p14, 10870512, descr=<Guard5>) [p1, p0, p14, i2, p3, p4, p5, p6, p7, p9, p12, p16, p18, p20, p22, p24, p26, p28, p31, p33]
+294: guard_value(i2, 2, descr=<Guard6>) [p1, p0, i2, p14, p3, p4, p5, p6, p7, p9, p12, p16, p18, p20, p22, p24, p26, p28, p31, p33]
+304: guard_nonnull(p7, descr=<Guard7>) [p1, p0, p7, p3, p4, p5, p6, p9, p12, p14, p18, p20, p22, p24, p26, p28, p31, p33]
+320: p37 = getfield_gc(p7, descr=<FieldP topaz.objects.blockobject.W_BlockObject.inst_bytecode 16>)
+324: p39 = call(ConstClass(getexecutioncontext), descr=<Callr 8 EF=1>)
+354: guard_value(p37, ConstPtr(ptr40), descr=<Guard8>) [p1, p0, p37, p3, p4, p5, p6, p7, p9, p12, p14, p18, p20, p22, p24, p26, p28, p31, p33]
debug_merge_point(0, 0, 'each at LOAD_SELF')
+380: guard_class(p3, 10881056, descr=<Guard9>) [p1, p0, p3, p4, p5, p6, p7, p9, p12, p14, p18, p20, p22, p24, p26, p28, p31, p33]
+393: p42 = getfield_gc(p3, descr=<FieldP topaz.objects.objectobject.W_Object.inst_map 8>)
+397: guard_value(p42, ConstPtr(ptr43), descr=<Guard10>) [p1, p0, p3, p42, p4, p5, p6, p7, p9, p12, p14, p18, p20, p22, p24, p26, p28, p31, p33]
debug_merge_point(0, 0, 'each at SEND')
+416: p45 = getfield_gc(ConstPtr(ptr44), descr=<FieldP topaz.executioncontext.ExecutionContext.inst_regexp_match_cell 16>)
+424: p46 = getfield_gc(ConstPtr(ptr44), descr=<FieldP topaz.executioncontext.ExecutionContext.inst_topframeref 24>)
+432: i47 = force_token()
+432: p48 = getfield_gc(p3, descr=<FieldP topaz.objects.rangeobject.W_RangeObject.inst_w_end 24>)
+436: setfield_gc(ConstPtr(ptr44), -1, descr=<FieldS topaz.executioncontext.ExecutionContext.inst_last_instr 8>)
+448: guard_nonnull_class(p48, 10870512, descr=<Guard11>) [p1, p0, p48, p3, p4, p5, p6, p7, p9, p12, p14, p20, p22, p24, p26, p28, p31, p33, p46, i47, p45]
debug_merge_point(0, 0, 'each at SEND')
+466: setfield_gc(ConstPtr(ptr51), 183, descr=<FieldS topaz.executioncontext.ExecutionContext.inst_last_instr 8>)
+478: i53 = force_token()
+478: setfield_gc(ConstPtr(ptr54), -1, descr=<FieldS topaz.executioncontext.ExecutionContext.inst_last_instr 8>)
+490: i56 = getfield_gc_pure(p48, descr=<FieldS topaz.objects.intobject.W_FixnumObject.inst_intvalue 8>)
+494: f57 = cast_int_to_float(i56)
+499: i58 = getfield_gc_pure(p14, descr=<FieldS topaz.objects.intobject.W_FixnumObject.inst_intvalue 8>)
+510: f59 = cast_int_to_float(i58)
+515: i60 = float_lt(f59, f57)
guard_true(i60, descr=<Guard12>) [p1, p0, p14, f57, p3, p4, p5, p6, p7, p9, p12, p20, p22, p24, p26, p28, p31, p33, i53, p46, None, p45]
debug_merge_point(0, 0, 'each at LOAD_CONST')
debug_merge_point(0, 0, 'each at SEND')
+529: i62 = force_token()
debug_merge_point(0, 0, 'each at JUMP_IF_FALSE')
debug_merge_point(0, 0, 'each at LOAD_DEREF')
debug_merge_point(0, 0, 'each at YIELD')
+529: p63 = getfield_gc(p7, descr=<FieldP topaz.objects.blockobject.W_BlockObject.inst_w_self 56>)
+533: p64 = getfield_gc(p7, descr=<FieldP topaz.objects.blockobject.W_BlockObject.inst_lexical_scope 32>)
+537: p65 = getfield_gc(p7, descr=<FieldP topaz.objects.blockobject.W_BlockObject.inst_block 8>)
+541: p66 = getfield_gc(p7, descr=<FieldP topaz.objects.blockobject.W_BlockObject.inst_parent_interp 40>)
+545: p67 = getfield_gc(p7, descr=<FieldP topaz.objects.blockobject.W_BlockObject.inst_regexp_match_cell 48>)
+549: setfield_gc(ConstPtr(ptr68), 200, descr=<FieldS topaz.executioncontext.ExecutionContext.inst_last_instr 8>)
+561: guard_nonnull(p63, descr=<Guard13>) [p1, p0, p7, p67, p66, p65, p64, p63, p3, p4, p5, p6, p9, p12, p14, p20, p22, p24, p26, p28, p31, p33, None, None, None, None]
+570: guard_nonnull(p67, descr=<Guard14>) [p1, p0, p7, p67, p66, p65, p64, p63, p3, p4, p5, p6, p9, p12, p14, p20, p22, p24, p26, p28, p31, p33, None, None, None, None]
+579: p70 = getfield_gc(p7, descr=<FieldP topaz.objects.blockobject.W_BlockObject.inst_cells 24>)
+583: p72 = getarrayitem_gc_pure(p70, 0, descr=<ArrayP 8>)
+587: i73 = force_token()
+587: setfield_gc(ConstPtr(ptr74), -1, descr=<FieldS topaz.executioncontext.ExecutionContext.inst_last_instr 8>)
setfield_gc(ConstPtr(ptr74), p67, descr=<FieldP topaz.executioncontext.ExecutionContext.inst_regexp_match_cell 16>)
+635: guard_isnull(p65, descr=<Guard15>) [p1, p0, p65, p3, p4, p5, p6, p7, p9, p12, p14, p20, p22, p24, p26, p28, p31, p33, i73, p72, p67, p63, p66, p64, None, p46, None, p45]
debug_merge_point(1, 1, 'block in <main> at LOAD_DEREF')
debug_merge_point(1, 1, 'block in <main> at STORE_DEREF')
+644: guard_class(p72, 10879704, descr=<Guard16>) [p1, p0, p72, p14, p3, p4, p5, p6, p7, p9, p12, p20, p22, p24, p26, p28, p31, p33, i73, None, p67, p63, p66, p64, None, p46, None, p45]
debug_merge_point(1, 1, 'block in <main> at RETURN')
debug_merge_point(0, 0, 'each at DISCARD_TOP')
debug_merge_point(0, 0, 'each at LOAD_DEREF')
debug_merge_point(0, 0, 'each at SEND')
+658: i77 = force_token()
debug_merge_point(1, 2, 'succ at LOAD_SELF')
debug_merge_point(1, 2, 'succ at LOAD_CONST')
debug_merge_point(1, 2, 'succ at SEND')
+658: i78 = force_token()
+658: setfield_gc(p72, i58, descr=<FieldS topaz.closure.IntCell.inst_intvalue 16>)
+662: setfield_gc(p72, ConstPtr(ptr79), descr=<FieldP topaz.closure.ClosureCell.inst_w_value 8>)
+670: i81 = int_add_ovf(i58, 1)
guard_no_overflow(descr=<Guard17>) [p1, p0, i81, p14, p3, p4, p5, p6, p7, p9, p12, p20, p22, p24, p26, p28, p31, p33, i77, i78, None, None, None, None, None, None, None, p46, None, p45]
debug_merge_point(1, 2, 'succ at RETURN')
debug_merge_point(0, 0, 'each at STORE_DEREF')
debug_merge_point(0, 0, 'each at DISCARD_TOP')
debug_merge_point(0, 0, 'each at JUMP')
debug_merge_point(0, 0, 'each at LOAD_DEREF')
setfield_gc(ConstPtr(ptr82), p45, descr=<FieldP topaz.executioncontext.ExecutionContext.inst_regexp_match_cell 16>)
+716: i83 = same_as(i81)
+716: label(p0, p1, p3, p4, p5, p6, p7, p9, p12, i81, p20, p22, p24, p26, p28, p31, p33, f57, p46, p45, p72, p70, descr=TargetToken(139943942070480))
debug_merge_point(0, 0, 'each at LOAD_DEREF')
+744: guard_not_invalidated(descr=<Guard18>) [p1, p0, p3, p4, p5, p6, p7, p9, p12, p20, p22, p24, p26, p28, p31, p33, i81]
debug_merge_point(0, 0, 'each at LOAD_SELF')
debug_merge_point(0, 0, 'each at SEND')
+744: i84 = force_token()
debug_merge_point(0, 0, 'each at SEND')
+744: i85 = force_token()
+744: f86 = cast_int_to_float(i81)
+749: i87 = float_lt(f86, f57)
guard_true(i87, descr=<Guard19>) [p1, p0, f57, p3, p4, p5, p6, p7, p9, p12, p20, p22, p24, p26, p28, p31, p33, i85, p46, p45, i81]
debug_merge_point(0, 0, 'each at LOAD_CONST')
debug_merge_point(0, 0, 'each at SEND')
+763: i88 = force_token()
debug_merge_point(0, 0, 'each at JUMP_IF_FALSE')
debug_merge_point(0, 0, 'each at LOAD_DEREF')
debug_merge_point(0, 0, 'each at YIELD')
+763: i89 = force_token()
debug_merge_point(1, 1, 'block in <main> at LOAD_DEREF')
debug_merge_point(1, 1, 'block in <main> at STORE_DEREF')
debug_merge_point(1, 1, 'block in <main> at RETURN')
debug_merge_point(0, 0, 'each at DISCARD_TOP')
debug_merge_point(0, 0, 'each at LOAD_DEREF')
debug_merge_point(0, 0, 'each at SEND')
+763: i90 = force_token()
debug_merge_point(1, 2, 'succ at LOAD_SELF')
debug_merge_point(1, 2, 'succ at LOAD_CONST')
debug_merge_point(1, 2, 'succ at SEND')
+763: i91 = force_token()
+763: setfield_gc(p72, i81, descr=<FieldS topaz.closure.IntCell.inst_intvalue 16>)
+767: i92 = int_add_ovf(i81, 1)
guard_no_overflow(descr=<Guard20>) [p1, p0, i92, p3, p4, p5, p6, p7, p9, p12, p20, p22, p24, p26, p28, p31, p33, i90, i91, None, p46, p45, i81]
debug_merge_point(1, 2, 'succ at RETURN')
debug_merge_point(0, 0, 'each at STORE_DEREF')
debug_merge_point(0, 0, 'each at DISCARD_TOP')
debug_merge_point(0, 0, 'each at JUMP')
debug_merge_point(0, 0, 'each at LOAD_DEREF')
+780: i93 = arraylen_gc(p70, descr=<ArrayP 8>)
+780: jump(p0, p1, p3, p4, p5, p6, p7, p9, p12, i92, p20, p22, p24, p26, p28, p31, p33, f57, p46, p45, p72, p70, descr=TargetToken(139943942070480))
+785: --end of the loop--
[86f0126d8dc62] jit-log-opt-loop}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment