Trace #1 uploaded by anonymous

test.py

Entry

[p0, p1]
p2 = getfield_gc(p0, descr=<FieldP pypy.interpreter.pyframe.PyFrame.inst_last_exception 80>)
p3 = getfield_gc(p0, descr=<FieldP pypy.interpreter.pyframe.PyFrame.inst_pycode 120>)
i4 = getfield_gc(p0, descr=<FieldU pypy.interpreter.pyframe.PyFrame.inst_is_being_profiled 150>)
p5 = getfield_gc(p0, descr=<FieldP pypy.interpreter.pyframe.PyFrame.inst_lastblock 96>)
i6 = getfield_gc(p0, descr=<FieldS pypy.interpreter.pyframe.PyFrame.inst_valuestackdepth 128>)
i7 = getfield_gc(p0, descr=<FieldS pypy.interpreter.pyframe.PyFrame.inst_last_instr 88>)
p8 = getfield_gc(p0, descr=<FieldP pypy.interpreter.pyframe.PyFrame.inst_locals_stack_w 104>)
p10 = getarrayitem_gc(p8, 0, descr=<ArrayP 8>)
p12 = getarrayitem_gc(p8, 1, descr=<ArrayP 8>)
p14 = getarrayitem_gc(p8, 2, descr=<ArrayP 8>)
p16 = getarrayitem_gc(p8, 3, descr=<ArrayP 8>)
p18 = getarrayitem_gc(p8, 4, descr=<ArrayP 8>)
p20 = getarrayitem_gc(p8, 5, descr=<ArrayP 8>)
p22 = getarrayitem_gc(p8, 6, descr=<ArrayP 8>)
p23 = getfield_gc(p0, descr=<FieldP pypy.interpreter.pyframe.PyFrame.inst_cells 40>)

Preamble

label(p0, p1, p2, p3, i4, p5, i6, i7, p10, p12, p14, p16, p18, p20, p22, descr=TargetToken(140048017138976))
3
4
5
def main():
    data = [0] * N
    for i in xrange(N):
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #26 FOR_ITER')
guard_value(i6, 4, descr=<Guard4>) [i6, p1, p0, p2, p3, i4, p5, i7, p10, p12, p14, p16, p18, p20, p22]
guard_class(p16, 38449928, descr=<Guard5>) [p1, p0, p16, p2, p3, i4, p5, p10, p12, p14, p18, p20, p22]
i26 = getfield_gc(p16, descr=<FieldS pypy.module.__builtin__.functional.W_XRangeIterator.inst_remaining 16>)
i28 = int_gt(i26, 0)
guard_true(i28, descr=<Guard6>) [p1, p0, p16, p2, p3, i4, p5, p10, p12, p14, p18, p20, p22]
i29 = getfield_gc(p16, descr=<FieldS pypy.module.__builtin__.functional.W_XRangeIterator.inst_current 8>)
i30 = getfield_gc(p16, descr=<FieldS pypy.module.__builtin__.functional.W_XRangeIterator.inst_step 24>)
i31 = int_add(i29, i30)
i33 = int_sub(i26, 1)
setfield_gc(p16, i31, descr=<FieldS pypy.module.__builtin__.functional.W_XRangeIterator.inst_current 8>)
setfield_gc(p16, i33, descr=<FieldS pypy.module.__builtin__.functional.W_XRangeIterator.inst_remaining 16>)
guard_value(i4, 0, descr=<Guard7>) [i4, p1, p0, p2, p3, p5, p10, p12, p14, p16, p20, p22, i29]
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #29 STORE_FAST')
6
        x = i ^ 3
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #32 LOAD_FAST')
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #35 LOAD_CONST')
guard_value(p3, ConstPtr(ptr35), descr=<Guard8>) [p1, p0, p3, p2, p5, p10, p14, p16, p20, p22, i29]
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #38 BINARY_XOR')
i37 = int_xor(i29, 3)
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #39 STORE_FAST')
7
        x <<= 2
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #42 LOAD_FAST')
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #45 LOAD_CONST')
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #48 INPLACE_LSHIFT')
i39 = int_lshift(i37, 2)
i40 = int_rshift(i39, 2)
i41 = int_ne(i40, i37)
guard_false(i41, descr=<Guard9>) [p1, p0, i39, p2, p5, p10, p16, p22, i37, i29]
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #49 STORE_FAST')
8
        x *= 7
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #52 LOAD_FAST')
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #55 LOAD_CONST')
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #58 INPLACE_MULTIPLY')
i43 = int_mul_ovf(i39, 7)
guard_no_overflow(, descr=<Guard10>) [p1, p0, i43, p2, p5, p10, p16, p22, i39, None, i29]
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #59 STORE_FAST')
9
        x -= 1
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #62 LOAD_FAST')
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #65 LOAD_CONST')
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #68 INPLACE_SUBTRACT')
i46 = int_sub_ovf(i43, 1)
guard_no_overflow(, descr=<Guard11>) [p1, p0, i46, p2, p5, p10, p16, p22, i43, None, None, i29]
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #69 STORE_FAST')
10
        data[i] = x
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #72 LOAD_FAST')
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #75 LOAD_FAST')
guard_nonnull_class(p10, ConstClass(W_ListObject), descr=<Guard12>) [p1, p0, p10, p2, p5, p16, p22, i46, None, None, None, i29]
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #78 LOAD_FAST')
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #81 STORE_SUBSCR')
p48 = getfield_gc(p10, descr=<FieldP pypy.objspace.std.listobject.W_ListObject.inst_strategy 16>)
guard_class(p48, 38554720, descr=<Guard13>) [p1, p0, p10, i29, p48, p2, p5, p16, i46, None, None, None, None]
p50 = getfield_gc(p10, descr=<FieldP pypy.objspace.std.listobject.W_ListObject.inst_lstorage 8>)
i51 = getfield_gc(p50, descr=<FieldS list.length 8>)
i52 = uint_ge(i29, i51)
guard_false(i52, descr=<Guard14>) [p1, p0, p10, i51, i46, i29, p50, p2, p5, p16, None, None, None, None, None]
p53 = getfield_gc(p50, descr=<FieldP list.items 16>)
setarrayitem_gc(p53, i29, i46, descr=<ArrayS 8>)
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #82 JUMP_ABSOLUTE')
guard_not_invalidated(, descr=<Guard15>) [p1, p0, p2, p5, p10, p16, i46, None, None, None, i29]
i55 = getfield_raw(43922552, descr=<FieldS pypysig_long_struct.c_value 0>)
i57 = int_lt(i55, 0)
guard_false(i57, descr=<Guard16>) [p1, p0, p2, p5, p10, p16, i46, None, None, None, i29]
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #26 FOR_ITER')
i58 = same_as(i46)
i59 = same_as(i31)

Loop body

label(p0, p1, p2, p5, p10, i29, i46, p16, i33, i59, i30, p50, descr=TargetToken(140048017139056))
3
4
5
def main():
    data = [0] * N
    for i in xrange(N):
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #26 FOR_ITER')
i60 = int_gt(i33, 0)
guard_true(i60, descr=<Guard17>) [p1, p0, p16, p2, p5, p10, i29, i46]
i61 = int_add(i59, i30)
i62 = int_sub(i33, 1)
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #29 STORE_FAST')
6
        x = i ^ 3
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #32 LOAD_FAST')
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #35 LOAD_CONST')
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #38 BINARY_XOR')
i63 = int_xor(i59, 3)
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #39 STORE_FAST')
7
        x <<= 2
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #42 LOAD_FAST')
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #45 LOAD_CONST')
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #48 INPLACE_LSHIFT')
i64 = int_lshift(i63, 2)
i65 = int_rshift(i64, 2)
setfield_gc(p16, i61, descr=<FieldS pypy.module.__builtin__.functional.W_XRangeIterator.inst_current 8>)
setfield_gc(p16, i62, descr=<FieldS pypy.module.__builtin__.functional.W_XRangeIterator.inst_remaining 16>)
i66 = int_ne(i65, i63)
guard_false(i66, descr=<Guard18>) [p1, p0, i64, p2, p5, p10, p16, i63, i59, None, None]
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #49 STORE_FAST')
8
        x *= 7
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #52 LOAD_FAST')
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #55 LOAD_CONST')
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #58 INPLACE_MULTIPLY')
i67 = int_mul_ovf(i64, 7)
guard_no_overflow(, descr=<Guard19>) [p1, p0, i67, p2, p5, p10, p16, i64, None, i59, None, None]
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #59 STORE_FAST')
9
        x -= 1
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #62 LOAD_FAST')
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #65 LOAD_CONST')
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #68 INPLACE_SUBTRACT')
i68 = int_sub_ovf(i67, 1)
guard_no_overflow(, descr=<Guard20>) [p1, p0, i68, p2, p5, p10, p16, i67, None, None, i59, None, None]
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #69 STORE_FAST')
10
        data[i] = x
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #72 LOAD_FAST')
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #75 LOAD_FAST')
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #78 LOAD_FAST')
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #81 STORE_SUBSCR')
i69 = getfield_gc(p50, descr=<FieldS list.length 8>)
i70 = uint_ge(i59, i69)
guard_false(i70, descr=<Guard21>) [p1, p0, p10, i69, i68, i59, p50, p2, p5, p16, None, None, None, None, None, None]
p71 = getfield_gc(p50, descr=<FieldP list.items 16>)
setarrayitem_gc(p71, i59, i68, descr=<ArrayS 8>)
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #82 JUMP_ABSOLUTE')
guard_not_invalidated(, descr=<Guard22>) [p1, p0, p2, p5, p10, p16, i68, None, None, None, i59, None, None]
i72 = getfield_raw(43922552, descr=<FieldS pypysig_long_struct.c_value 0>)
i73 = int_lt(i72, 0)
guard_false(i73, descr=<Guard23>) [p1, p0, p2, p5, p10, p16, i68, None, None, None, i59, None, None]
debug_merge_point(0, '<code object main. file 'test.py'. line 3> #26 FOR_ITER')
jump(p0, p1, p2, p5, p10, i59, i68, p16, i62, i61, i30, p50, descr=TargetToken(140048017139056))