Created
August 13, 2012 14:54
-
-
Save halgari/3341474 to your computer and use it in GitHub Desktop.
jitlog
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[13235a60055c] {jit-log-opt-loop | |
# Loop 0 (0 LOAD_ARG) : loop with 196 ops | |
[p0, p1, p2] | |
+84: label(p0, p1, p2, descr=TargetToken(140251232256032)) | |
debug_merge_point(0, 0, '0 LOAD_ARG') | |
+135: p4 = getfield_gc(ConstPtr(ptr3), descr=<FieldP system.interpreter.Interpreter.inst__call_stack 16>) | |
+148: p6 = call(ConstClass(W_InternalList.getFirst), p4, descr=<Callr 8 r EF=0>) | |
+167: i7 = getfield_gc(ConstPtr(ptr3), descr=<FieldS system.interpreter.Interpreter.inst__ip 24>) | |
+180: i9 = call(ConstClass(get_bcode_at), p6, i7, descr=<Calli 8 ri EF=0>) | |
+209: i11 = int_add(i7, 1) | |
+220: setfield_gc(ConstPtr(ptr3), i11, descr=<FieldS system.interpreter.Interpreter.inst__ip 24>) | |
+233: guard_value(i9, 5, descr=<Guard2>) [i9] | |
+243: i14 = call(ConstClass(get_bcode_at), p6, i11, descr=<Calli 8 ri EF=0>) | |
+269: i16 = int_add(i11, 1) | |
+280: p17 = getfield_gc(ConstPtr(ptr3), descr=<FieldP system.interpreter.Interpreter.inst__arg_stack 8>) | |
+293: p19 = call(ConstClass(W_InternalList.getFirst), p17, descr=<Callr 8 r EF=0>) | |
+326: p21 = call(ConstClass(W_Array.getNthInterp), p19, i14, descr=<Callr 8 ri EF=0>) | |
+352: p22 = getfield_gc(ConstPtr(ptr3), descr=<FieldP system.interpreter.Interpreter.inst__stack 48>) | |
+365: i23 = getfield_gc(ConstPtr(ptr3), descr=<FieldS system.interpreter.Interpreter.inst__sp 40>) | |
+378: setfield_gc(ConstPtr(ptr3), i16, descr=<FieldS system.interpreter.Interpreter.inst__ip 24>) | |
+398: i25 = int_lt(i23, 0) | |
guard_false(i25, descr=<Guard3>) [i23, p22, p21] | |
setarrayitem_gc(p22, i23, p21, descr=<ArrayP 8>) | |
+452: i27 = int_add(i23, 1) | |
+456: p28 = getfield_gc(p6, descr=<FieldP system.objspace.Object.inst__bcode 16>) | |
+467: i29 = strlen(p28) | |
+471: setfield_gc(ConstPtr(ptr3), i27, descr=<FieldS system.interpreter.Interpreter.inst__sp 40>) | |
+484: guard_value(i29, 21, descr=<Guard4>) [i16, i29] | |
+494: i31 = int_lt(i16, 21) | |
guard_true(i31, descr=<Guard5>) [] | |
+504: i33 = instance_ptr_eq(p17, ConstPtr(ptr32)) | |
guard_false(i33, descr=<Guard6>) [i16, p6] | |
+521: p34 = getarrayitem_gc(p22, i23, descr=<ArrayP 8>) | |
+526: i36 = int_sub(i27, 2) | |
+530: i38 = int_lt(i36, 0) | |
guard_true(i38, descr=<Guard7>) [i36, i16, p19, p22, p34, p6] | |
+540: i39 = arraylen_gc(p22, descr=<ArrayP 8>) | |
+544: i40 = int_add(i36, i39) | |
+547: p41 = getarrayitem_gc(p22, i40, descr=<ArrayP 8>) | |
+552: guard_value(i16, 2, descr=<Guard8>) [i16, p19, p41, p34, p6] | |
+562: guard_value(p6, ConstPtr(ptr43), descr=<Guard9>) [p19, p41, p34, p6] | |
debug_merge_point(0, 0, '2 LOAD_ARG') | |
+581: p45 = call(ConstClass(W_Array.getNthInterp), p19, 1, descr=<Callr 8 ri EF=0>) | |
+616: setfield_gc(ConstPtr(ptr3), 4, descr=<FieldS system.interpreter.Interpreter.inst__ip 24>) | |
+633: i48 = int_lt(i27, 0) | |
guard_false(i48, descr=<Guard10>) [i27, p22, p45] | |
setarrayitem_gc(p22, i27, p45, descr=<ArrayP 8>) | |
+705: i50 = int_add(i27, 1) | |
+709: p51 = getarrayitem_gc(p22, i27, descr=<ArrayP 8>) | |
+714: i53 = int_sub(i50, 2) | |
+718: setfield_gc(ConstPtr(ptr3), i50, descr=<FieldS system.interpreter.Interpreter.inst__sp 40>) | |
+731: i55 = int_lt(i53, 0) | |
guard_false(i55, descr=<Guard11>) [i53, p19, p22, p51] | |
+741: p57 = getarrayitem_gc(p22, 0, descr=<ArrayP 8>) | |
debug_merge_point(0, 0, '4 IS_EQ') | |
+745: p59 = getarrayitem_gc(p22, 1, descr=<ArrayP 8>) | |
+749: i60 = getfield_gc_pure(p59, descr=<FieldS system.objspace.W_Int.inst_int_value 32>) | |
+753: i61 = getfield_gc_pure(p57, descr=<FieldS system.objspace.W_Int.inst_int_value 32>) | |
+757: setfield_gc(ConstPtr(ptr3), 5, descr=<FieldS system.interpreter.Interpreter.inst__ip 24>) | |
+774: setfield_gc(ConstPtr(ptr3), 0, descr=<FieldS system.interpreter.Interpreter.inst__sp 40>) | |
+791: setarrayitem_gc(p22, 1, ConstPtr(ptr64), descr=<ArrayP 8>) | |
+799: setarrayitem_gc(p22, 0, ConstPtr(ptr65), descr=<ArrayP 8>) | |
+807: i66 = int_eq(i60, i61) | |
guard_false(i66, descr=<Guard12>) [] | |
+816: i68 = int_add(-1, i39) | |
+826: p69 = getarrayitem_gc(p22, i68, descr=<ArrayP 8>) | |
debug_merge_point(0, 0, '5 JUMP_IF_FALSE') | |
+826: i71 = getfield_gc(ConstPtr(ptr70), descr=<FieldU system.objspace.W_Bool.inst_bool_value 32>) | |
+835: setfield_gc(ConstPtr(ptr3), 7, descr=<FieldS system.interpreter.Interpreter.inst__ip 24>) | |
+852: guard_false(i71, descr=<Guard13>) [] | |
+861: p73 = getarrayitem_gc(p22, i68, descr=<ArrayP 8>) | |
+861: i75 = int_add(-2, i39) | |
+871: p76 = getarrayitem_gc(p22, i75, descr=<ArrayP 8>) | |
debug_merge_point(0, 0, '11 LOAD_CONST') | |
+871: p77 = getfield_gc(ConstPtr(ptr43), descr=<FieldP system.objspace.Object.inst__consts 24>) | |
+884: p80 = call(ConstClass(W_Array.getNthInterp), p77, 0, descr=<Callr 8 ri EF=0>) | |
+908: p81 = getarrayitem_gc(p22, i68, descr=<ArrayP 8>) | |
debug_merge_point(0, 0, '13 LOAD_ARG') | |
setarrayitem_gc(p22, 0, p80, descr=<ArrayP 8>) | |
+947: p84 = call(ConstClass(W_Array.getNthInterp), p19, 0, descr=<Callr 8 ri EF=0>) | |
debug_merge_point(0, 0, '15 BINARY_ADD') | |
+975: i85 = getfield_gc_pure(p84, descr=<FieldS system.objspace.W_Int.inst_int_value 32>) | |
+979: i86 = getfield_gc_pure(p80, descr=<FieldS system.objspace.W_Int.inst_int_value 32>) | |
+990: i87 = int_add(i85, i86) | |
+993: p88 = getarrayitem_gc(p22, i68, descr=<ArrayP 8>) | |
debug_merge_point(0, 0, '16 LOAD_ARG') | |
debug_merge_point(0, 0, '18 CUR_FUNC') | |
debug_merge_point(0, 0, '19 TAIL_CALL') | |
+993: p90 = call(ConstClass(W_InternalList.getNext), p4, descr=<Callr 8 r EF=0>) | |
+1023: p92 = call(ConstClass(W_InternalList.getNext), p17, descr=<Callr 8 r EF=0>) | |
p94 = new_with_vtable(9593848) | |
+1116: setfield_gc(p94, ConstPtr(ptr43), descr=<FieldP system.objspace.W_InternalList.inst__w_head 32>) | |
+1130: p96 = call(ConstClass(W_InternalList.getFirst), p94, descr=<Callr 8 r EF=0>) | |
setfield_gc(ConstPtr(ptr3), p92, descr=<FieldP system.interpreter.Interpreter.inst__arg_stack 8>) | |
+1210: setfield_gc(ConstPtr(ptr3), 2, descr=<FieldS system.interpreter.Interpreter.inst__sp 40>) | |
p99 = new_with_vtable(9593640) | |
+1297: setfield_gc(p99, i87, descr=<FieldS system.objspace.W_Int.inst_int_value 32>) | |
setarrayitem_gc(p22, 0, p99, descr=<ArrayP 8>) | |
setarrayitem_gc(p22, 1, p45, descr=<ArrayP 8>) | |
+1386: setarrayitem_gc(p22, 2, ConstPtr(ptr102), descr=<ArrayP 8>) | |
+1394: call(ConstClass(Interpreter.push_arg_stack), ConstPtr(ptr3), p96, 2, descr=<Callv 0 rri EF=4>) | |
+1428: setfield_gc(ConstPtr(ptr3), 0, descr=<FieldS system.interpreter.Interpreter.inst__ip 24>) | |
setfield_gc(ConstPtr(ptr3), p94, descr=<FieldP system.interpreter.Interpreter.inst__call_stack 16>) | |
setfield_gc(p94, p90, descr=<FieldP system.objspace.W_InternalList.inst__w_tail 40>) | |
+1537: guard_no_exception(, descr=<Guard14>) [] | |
+1552: p106 = getfield_gc(ConstPtr(ptr3), descr=<FieldP system.interpreter.Interpreter.inst__arg_stack 8>) | |
+1565: i108 = instance_ptr_eq(p106, ConstPtr(ptr107)) | |
guard_false(i108, descr=<Guard15>) [] | |
+1578: p110 = call(ConstClass(W_InternalList.getFirst), p106, descr=<Callr 8 r EF=0>) | |
+1597: i111 = getfield_gc(ConstPtr(ptr3), descr=<FieldS system.interpreter.Interpreter.inst__sp 40>) | |
+1610: i113 = int_sub(i111, 1) | |
+1614: i115 = int_lt(i113, 0) | |
guard_true(i115, descr=<Guard16>) [i113, p22] | |
+1624: i116 = int_add(i113, i39) | |
+1627: p117 = getarrayitem_gc(p22, i116, descr=<ArrayP 8>) | |
+1627: i119 = int_sub(i111, 2) | |
+1631: i121 = int_lt(i119, 0) | |
guard_true(i121, descr=<Guard17>) [i119, p22] | |
+1641: i122 = int_add(i119, i39) | |
+1644: p123 = getarrayitem_gc(p22, i122, descr=<ArrayP 8>) | |
+1644: p124 = getfield_gc(p96, descr=<FieldP system.objspace.Object.inst__bcode 16>) | |
+1656: i125 = strlen(p124) | |
+1660: guard_value(i125, 21, descr=<Guard18>) [i125] | |
+1670: p127 = getarrayitem_gc(p22, i116, descr=<ArrayP 8>) | |
+1682: p128 = getarrayitem_gc(p22, i122, descr=<ArrayP 8>) | |
+1687: guard_value(p96, ConstPtr(ptr129), descr=<Guard19>) [p110, p128, p127, p96] | |
debug_merge_point(0, 0, '0 LOAD_ARG') | |
+1706: p130 = same_as(p110) | |
+1709: label(p127, p128, p110, p130, i111, p22, i68, i75, i86, p94, p106, i39, descr=TargetToken(140251232256120)) | |
debug_merge_point(0, 0, '0 LOAD_ARG') | |
+1774: p132 = call(ConstClass(W_Array.getNthInterp), p130, 0, descr=<Callr 8 ri EF=0>) | |
+1805: setfield_gc(ConstPtr(ptr3), 2, descr=<FieldS system.interpreter.Interpreter.inst__ip 24>) | |
+1822: i134 = int_lt(i111, 0) | |
guard_false(i134, descr=<Guard20>) [i111, p22, p132] | |
+1836: p135 = getarrayitem_gc(p22, i68, descr=<ArrayP 8>) | |
debug_merge_point(0, 0, '2 LOAD_ARG') | |
setarrayitem_gc(p22, 0, p132, descr=<ArrayP 8>) | |
+1878: p137 = call(ConstClass(W_Array.getNthInterp), p130, 1, descr=<Callr 8 ri EF=0>) | |
debug_merge_point(0, 0, '4 IS_EQ') | |
+1902: i138 = getfield_gc_pure(p137, descr=<FieldS system.objspace.W_Int.inst_int_value 32>) | |
+1906: i139 = getfield_gc_pure(p132, descr=<FieldS system.objspace.W_Int.inst_int_value 32>) | |
+1917: setfield_gc(ConstPtr(ptr3), 5, descr=<FieldS system.interpreter.Interpreter.inst__ip 24>) | |
+1934: setarrayitem_gc(p22, 0, ConstPtr(ptr65), descr=<ArrayP 8>) | |
+1949: setarrayitem_gc(p22, 1, ConstPtr(ptr64), descr=<ArrayP 8>) | |
+1957: i142 = int_eq(i138, i139) | |
guard_false(i142, descr=<Guard21>) [] | |
+1966: p143 = getarrayitem_gc(p22, i68, descr=<ArrayP 8>) | |
debug_merge_point(0, 0, '5 JUMP_IF_FALSE') | |
+1966: p144 = getarrayitem_gc(p22, i68, descr=<ArrayP 8>) | |
+1966: p145 = getarrayitem_gc(p22, i75, descr=<ArrayP 8>) | |
debug_merge_point(0, 0, '11 LOAD_CONST') | |
+1966: p146 = getarrayitem_gc(p22, i68, descr=<ArrayP 8>) | |
debug_merge_point(0, 0, '13 LOAD_ARG') | |
debug_merge_point(0, 0, '15 BINARY_ADD') | |
+1966: i147 = int_add(i139, i86) | |
+1973: p148 = getarrayitem_gc(p22, i68, descr=<ArrayP 8>) | |
debug_merge_point(0, 0, '16 LOAD_ARG') | |
debug_merge_point(0, 0, '18 CUR_FUNC') | |
debug_merge_point(0, 0, '19 TAIL_CALL') | |
+1973: p149 = call(ConstClass(W_InternalList.getNext), p94, descr=<Callr 8 r EF=0>) | |
+2003: p150 = call(ConstClass(W_InternalList.getNext), p106, descr=<Callr 8 r EF=0>) | |
p151 = new_with_vtable(9593848) | |
+2096: setfield_gc(p151, ConstPtr(ptr43), descr=<FieldP system.objspace.W_InternalList.inst__w_head 32>) | |
+2110: p152 = call(ConstClass(W_InternalList.getFirst), p151, descr=<Callr 8 r EF=0>) | |
setfield_gc(ConstPtr(ptr3), p150, descr=<FieldP system.interpreter.Interpreter.inst__arg_stack 8>) | |
+2190: setfield_gc(ConstPtr(ptr3), 2, descr=<FieldS system.interpreter.Interpreter.inst__sp 40>) | |
p154 = new_with_vtable(9593640) | |
+2277: setfield_gc(p154, i147, descr=<FieldS system.objspace.W_Int.inst_int_value 32>) | |
setarrayitem_gc(p22, 0, p154, descr=<ArrayP 8>) | |
setarrayitem_gc(p22, 1, p137, descr=<ArrayP 8>) | |
+2366: setarrayitem_gc(p22, 2, ConstPtr(ptr102), descr=<ArrayP 8>) | |
+2374: call(ConstClass(Interpreter.push_arg_stack), ConstPtr(ptr3), p152, 2, descr=<Callv 0 rri EF=4>) | |
+2408: setfield_gc(ConstPtr(ptr3), 0, descr=<FieldS system.interpreter.Interpreter.inst__ip 24>) | |
setfield_gc(ConstPtr(ptr3), p151, descr=<FieldP system.interpreter.Interpreter.inst__call_stack 16>) | |
setfield_gc(p151, p149, descr=<FieldP system.objspace.W_InternalList.inst__w_tail 40>) | |
+2517: guard_no_exception(, descr=<Guard22>) [] | |
+2532: p156 = getfield_gc(ConstPtr(ptr3), descr=<FieldP system.interpreter.Interpreter.inst__arg_stack 8>) | |
+2545: i157 = instance_ptr_eq(p156, ConstPtr(ptr107)) | |
guard_false(i157, descr=<Guard23>) [] | |
+2558: p158 = call(ConstClass(W_InternalList.getFirst), p156, descr=<Callr 8 r EF=0>) | |
+2577: i159 = getfield_gc(ConstPtr(ptr3), descr=<FieldS system.interpreter.Interpreter.inst__sp 40>) | |
+2590: i160 = int_sub(i159, 1) | |
+2594: i161 = int_lt(i160, 0) | |
guard_true(i161, descr=<Guard24>) [i160, p22] | |
+2604: i162 = int_add(i160, i39) | |
+2607: p163 = getarrayitem_gc(p22, i162, descr=<ArrayP 8>) | |
+2607: i164 = int_sub(i159, 2) | |
+2611: i165 = int_lt(i164, 0) | |
guard_true(i165, descr=<Guard25>) [i164, p22] | |
+2621: i166 = int_add(i164, i39) | |
+2624: p167 = getarrayitem_gc(p22, i166, descr=<ArrayP 8>) | |
+2624: p168 = getfield_gc(p152, descr=<FieldP system.objspace.Object.inst__bcode 16>) | |
+2635: i169 = strlen(p168) | |
+2639: guard_value(i169, 21, descr=<Guard26>) [i169] | |
+2649: p170 = getarrayitem_gc(p22, i162, descr=<ArrayP 8>) | |
+2661: p171 = getarrayitem_gc(p22, i166, descr=<ArrayP 8>) | |
+2666: guard_value(p152, ConstPtr(ptr129), descr=<Guard27>) [p158, p171, p170, p152] | |
debug_merge_point(0, 0, '0 LOAD_ARG') | |
+2685: jump(p170, p171, p158, p158, i159, p22, i68, i75, i86, p151, p156, i39, descr=TargetToken(140251232256120)) | |
+2745: --end of the loop-- | |
[13235a6ba754] jit-log-opt-loop} | |
[13235c2f5b74] {jit-backend-counts | |
entry 0:1 | |
TargetToken(140251232256032):1 | |
TargetToken(140251232256120):98939 | |
[13235c2ff751] jit-backend-counts} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment