Advertisement
Guest User

Untitled

a guest
Dec 22nd, 2014
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 30.14 KB | None | 0 0
  1. [1594f2aa99a0] {jit-backend-counts
  2. [1594f2ab7b1f] jit-backend-counts}
  3. [1594f33c9514] {jit-log-opt-loop
  4. # Loop 0 (156 IS_NONEMPTY_LIST) : loop with 81 ops
  5. [i0, p1, p2, p3, p4, p5]
  6. +129: p6 = getfield_gc(p4, descr=<FieldP interpreter.register.X_Register.inst_regs 16>)
  7. +140: p8 = getarrayitem_gc(p6, 0, descr=<ArrayP 8>)
  8. +144: p10 = getarrayitem_gc(p6, 1, descr=<ArrayP 8>)
  9. +148: p12 = getarrayitem_gc(p6, 2, descr=<ArrayP 8>)
  10. +152: p14 = getarrayitem_gc(p6, 3, descr=<ArrayP 8>)
  11. +156: p16 = getarrayitem_gc(p6, 4, descr=<ArrayP 8>)
  12. +160: p18 = getarrayitem_gc(p6, 5, descr=<ArrayP 8>)
  13. +164: p20 = getarrayitem_gc(p6, 6, descr=<ArrayP 8>)
  14. +168: p22 = getarrayitem_gc(p6, 7, descr=<ArrayP 8>)
  15. +172: p24 = getarrayitem_gc(p6, 8, descr=<ArrayP 8>)
  16. +176: p26 = getarrayitem_gc(p6, 9, descr=<ArrayP 8>)
  17. +180: p28 = getarrayitem_gc(p6, 10, descr=<ArrayP 8>)
  18. +184: p30 = getarrayitem_gc(p6, 11, descr=<ArrayP 8>)
  19. +195: p32 = getarrayitem_gc(p6, 12, descr=<ArrayP 8>)
  20. +206: p34 = getarrayitem_gc(p6, 13, descr=<ArrayP 8>)
  21. +210: p36 = getarrayitem_gc(p6, 14, descr=<ArrayP 8>)
  22. +224: p38 = getarrayitem_gc(p6, 15, descr=<ArrayP 8>)
  23. +238: label(i0, p1, p2, p3, p4, p5, p8, p10, p12, p14, p16, p18, p20, p22, p24, p26, p28, p30, p32, p34, p36, p38, descr=TargetToken(4318126192))
  24. debug_merge_point(0, 0, '156 IS_NONEMPTY_LIST')
  25. +321: p39 = getfield_gc(p3, descr=<FieldP interpreter.interp.BeamRunTime.inst_x_reg 32>)
  26. +333: i40 = ptr_eq(p39, p4)
  27. guard_true(i40, descr=<Guard0x101618020>) [p3, p39, p8, p10, p12, p14, p16, p18, p20, p22, p24, p26, p28, p30, p32, p34, p36, p38, p4]
  28. +346: guard_nonnull_class(p8, 4297440672, descr=<Guard0x101618410>) [p3, p8, p10, p12, p14, p16, p18, p20, p22, p24, p26, p28, p30, p32, p34, p36, p38, p4]
  29. +364: i42 = getfield_gc(p3, descr=<FieldS interpreter.interp.BeamRunTime.inst_current_line 16>)
  30. +369: p43 = getfield_gc(p3, descr=<FieldP interpreter.interp.BeamRunTime.inst_atoms 8>)
  31. +374: p44 = getfield_gc(p3, descr=<FieldP interpreter.interp.BeamRunTime.inst_func_list 24>)
  32. +379: p45 = getfield_gc(p3, descr=<FieldP interpreter.interp.BeamRunTime.inst_y_reg 40>)
  33. debug_merge_point(0, 0, '160 GET_LIST')
  34. +384: p46 = getfield_gc_pure(p8, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_left 32>)
  35. +388: p47 = getfield_gc_pure(p8, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_right 40>)
  36. debug_merge_point(0, 0, '164 IS_NONEMPTY_LIST')
  37. +392: guard_nonnull_class(p47, 4297440672, descr=<Guard0x1016183a0>) [p3, p47, p8, p10, p12, p46, p18, p20, p22, p24, p26, p28, p30, p32, p34, p36, p38, p4]
  38. debug_merge_point(0, 0, '167 GET_LIST')
  39. +411: p49 = getfield_gc_pure(p47, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_left 32>)
  40. +415: p50 = getfield_gc_pure(p47, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_right 40>)
  41. debug_merge_point(0, 0, '171 IS_LT')
  42. +419: guard_class(p49, 4297440496, descr=<Guard0x101618330>) [p3, p49, p46, p8, p10, p12, p47, p50, p22, p24, p26, p28, p30, p32, p34, p36, p38, p4]
  43. +432: guard_nonnull_class(p46, 4297440496, descr=<Guard0x1016182c0>) [p3, p49, p46, p8, p10, p12, p47, p50, p22, p24, p26, p28, p30, p32, p34, p36, p38, p4]
  44. +451: i53 = getfield_gc(p49, descr=<FieldS pyrlang.interpreter.datatypes.root.W_Root.inst_intval 24>)
  45. +455: i54 = getfield_gc(p46, descr=<FieldS pyrlang.interpreter.datatypes.root.W_Root.inst_intval 24>)
  46. +459: i55 = int_lt(i53, i54)
  47. guard_true(i55, descr=<Guard0x101618250>) [p3, p8, p10, p12, p46, p47, p49, p50, p22, p24, p26, p28, p30, p32, p34, p36, p38, p4]
  48. debug_merge_point(0, 0, '175 TEST_HEAP')
  49. debug_merge_point(0, 0, '178 PUT_LIST')
  50. debug_merge_point(0, 0, '182 PUT_LIST')
  51. debug_merge_point(0, 0, '186 MOVE')
  52. debug_merge_point(0, 0, '189 CALL_ONLY')
  53. +468: p57 = getfield_gc(ConstPtr(ptr56), descr=<FieldP list.items 16>)
  54. +481: i59 = getarrayitem_gc(p57, 13, descr=<ArrayS 8>)
  55. +485: guard_value(i59, 156, descr=<Guard0x1016181e0>) [i42, i59, p45, p4, p3, p44, p43, p46, p47, p49, p50, p22, p24, p26, p28, p30, p32, p34, p36, p38, p10]
  56. debug_merge_point(0, 0, '156 IS_NONEMPTY_LIST')
  57. +498: p61 = same_as(p49)
  58. +498: p62 = same_as(p50)
  59. +498: i63 = same_as(i42)
  60. +501: p64 = same_as(p43)
  61. +511: p65 = same_as(p44)
  62. +521: p66 = same_as(p45)
  63. +531: label(i42, p43, p44, p3, p4, p45, p46, p50, p49, p10, p47, p22, p24, p26, p28, p30, p32, p34, p36, p38, i54, p57, i63, p64, p65, p66, descr=TargetToken(4318126272))
  64. debug_merge_point(0, 0, '156 IS_NONEMPTY_LIST')
  65. debug_merge_point(0, 0, '160 GET_LIST')
  66. debug_merge_point(0, 0, '164 IS_NONEMPTY_LIST')
  67. +607: guard_nonnull_class(p50, 4297440672, descr=<Guard0x101618170>) [p3, p50, p46, p49, p22, p24, p26, p28, p30, p32, p34, p36, p38, p4, p10]
  68. debug_merge_point(0, 0, '167 GET_LIST')
  69. +625: p67 = getfield_gc_pure(p50, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_left 32>)
  70. +629: p68 = getfield_gc_pure(p50, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_right 40>)
  71. debug_merge_point(0, 0, '171 IS_LT')
  72. +633: guard_class(p67, 4297440496, descr=<Guard0x101618100>) [p3, p67, p46, p50, p68, p22, p24, p26, p28, p30, p32, p34, p36, p38, p4, p49, p10]
  73. +645: i69 = getfield_gc(p67, descr=<FieldS pyrlang.interpreter.datatypes.root.W_Root.inst_intval 24>)
  74. +649: i70 = int_lt(i69, i54)
  75. guard_true(i70, descr=<Guard0x101618090>) [p3, p46, p50, p67, p68, p22, p24, p26, p28, p30, p32, p34, p36, p38, p4, p49, p10]
  76. debug_merge_point(0, 0, '175 TEST_HEAP')
  77. debug_merge_point(0, 0, '178 PUT_LIST')
  78. debug_merge_point(0, 0, '182 PUT_LIST')
  79. debug_merge_point(0, 0, '186 MOVE')
  80. debug_merge_point(0, 0, '189 CALL_ONLY')
  81. debug_merge_point(0, 0, '156 IS_NONEMPTY_LIST')
  82. p72 = new_with_vtable(4297440672)
  83. +755: i73 = arraylen_gc(p57, descr=<ArrayS 8>)
  84. +755: setfield_gc(p72, p10, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_right 40>)
  85. +759: setfield_gc(p72, p49, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_left 32>)
  86. +763: jump(i63, p64, p65, p3, p4, p66, p46, p68, p67, p72, p50, p22, p24, p26, p28, p30, p32, p34, p36, p38, i54, p57, i63, p64, p65, p66, descr=TargetToken(4318126272))
  87. +837: --end of the loop--
  88. [1594f3441c1e] jit-log-opt-loop}
  89. [1594f3bf2675] {jit-log-opt-loop
  90. # Loop 1 (79 IS_NONEMPTY_LIST) : loop with 58 ops
  91. [i0, p1, p2, p3, p4, p5]
  92. +129: p6 = getfield_gc(p4, descr=<FieldP interpreter.register.X_Register.inst_regs 16>)
  93. +140: p8 = getarrayitem_gc(p6, 0, descr=<ArrayP 8>)
  94. +144: p10 = getarrayitem_gc(p6, 1, descr=<ArrayP 8>)
  95. +148: p12 = getarrayitem_gc(p6, 2, descr=<ArrayP 8>)
  96. +152: p14 = getarrayitem_gc(p6, 3, descr=<ArrayP 8>)
  97. +156: p16 = getarrayitem_gc(p6, 4, descr=<ArrayP 8>)
  98. +160: p18 = getarrayitem_gc(p6, 5, descr=<ArrayP 8>)
  99. +164: p20 = getarrayitem_gc(p6, 6, descr=<ArrayP 8>)
  100. +168: p22 = getarrayitem_gc(p6, 7, descr=<ArrayP 8>)
  101. +172: p24 = getarrayitem_gc(p6, 8, descr=<ArrayP 8>)
  102. +176: p26 = getarrayitem_gc(p6, 9, descr=<ArrayP 8>)
  103. +180: p28 = getarrayitem_gc(p6, 10, descr=<ArrayP 8>)
  104. +184: p30 = getarrayitem_gc(p6, 11, descr=<ArrayP 8>)
  105. +195: p32 = getarrayitem_gc(p6, 12, descr=<ArrayP 8>)
  106. +206: p34 = getarrayitem_gc(p6, 13, descr=<ArrayP 8>)
  107. +217: p36 = getarrayitem_gc(p6, 14, descr=<ArrayP 8>)
  108. +231: p38 = getarrayitem_gc(p6, 15, descr=<ArrayP 8>)
  109. +245: label(i0, p1, p2, p3, p4, p5, p8, p10, p12, p14, p16, p18, p20, p22, p24, p26, p28, p30, p32, p34, p36, p38, descr=TargetToken(4318126592))
  110. debug_merge_point(0, 0, '79 IS_NONEMPTY_LIST')
  111. +321: p39 = getfield_gc(p3, descr=<FieldP interpreter.interp.BeamRunTime.inst_x_reg 32>)
  112. +332: i40 = ptr_eq(p39, p4)
  113. guard_true(i40, descr=<Guard0x101618950>) [p3, p39, p8, p10, p12, p14, p16, p18, p20, p22, p24, p26, p28, p30, p32, p34, p36, p38, p4]
  114. +341: guard_nonnull_class(p8, 4297440672, descr=<Guard0x101618e90>) [p3, p8, p10, p12, p14, p16, p18, p20, p22, p24, p26, p28, p30, p32, p34, p36, p38, p4]
  115. +359: i42 = getfield_gc(p3, descr=<FieldS interpreter.interp.BeamRunTime.inst_current_line 16>)
  116. +363: p43 = getfield_gc(p3, descr=<FieldP interpreter.interp.BeamRunTime.inst_atoms 8>)
  117. +367: p44 = getfield_gc(p3, descr=<FieldP interpreter.interp.BeamRunTime.inst_func_list 24>)
  118. +371: p45 = getfield_gc(p3, descr=<FieldP interpreter.interp.BeamRunTime.inst_y_reg 40>)
  119. debug_merge_point(0, 0, '82 TEST_HEAP')
  120. debug_merge_point(0, 0, '85 GET_LIST')
  121. +375: p46 = getfield_gc_pure(p8, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_left 32>)
  122. +379: p47 = getfield_gc_pure(p8, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_right 40>)
  123. debug_merge_point(0, 0, '89 PUT_LIST')
  124. +383: guard_nonnull_class(p46, 4297440496, descr=<Guard0x101618e20>) [p3, p10, p46, p47, p14, p16, p18, p20, p22, p24, p26, p28, p30, p32, p34, p36, p38, p4]
  125. debug_merge_point(0, 0, '93 CALL_ONLY')
  126. +403: p50 = getfield_gc(ConstPtr(ptr49), descr=<FieldP list.items 16>)
  127. +416: i52 = getarrayitem_gc(p50, 6, descr=<ArrayS 8>)
  128. +420: guard_value(i52, 79, descr=<Guard0x101618db0>) [i42, i52, p45, p4, p3, p44, p43, p47, p46, p14, p16, p18, p20, p22, p24, p26, p28, p30, p32, p34, p36, p38, p10]
  129. debug_merge_point(0, 0, '79 IS_NONEMPTY_LIST')
  130. +430: p54 = same_as(p45)
  131. +433: i55 = same_as(i42)
  132. +436: p56 = same_as(p43)
  133. +439: p57 = same_as(p44)
  134. +449: label(i42, p43, p44, p3, p4, p45, p47, p46, p10, p14, p16, p18, p20, p22, p24, p26, p28, p30, p32, p34, p36, p38, p50, i55, p56, p57, p54, descr=TargetToken(4318126672))
  135. debug_merge_point(0, 0, '79 IS_NONEMPTY_LIST')
  136. +525: guard_nonnull_class(p47, 4297440672, descr=<Guard0x101618d40>) [p3, p47, p46, p14, p16, p18, p20, p22, p24, p26, p28, p30, p32, p34, p36, p38, p4, p10]
  137. debug_merge_point(0, 0, '82 TEST_HEAP')
  138. debug_merge_point(0, 0, '85 GET_LIST')
  139. +544: p58 = getfield_gc_pure(p47, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_left 32>)
  140. +548: p59 = getfield_gc_pure(p47, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_right 40>)
  141. debug_merge_point(0, 0, '89 PUT_LIST')
  142. +552: guard_nonnull_class(p58, 4297440496, descr=<Guard0x101618cd0>) [p3, p58, p59, p14, p16, p18, p20, p22, p24, p26, p28, p30, p32, p34, p36, p38, p4, p46, p10]
  143. debug_merge_point(0, 0, '93 CALL_ONLY')
  144. debug_merge_point(0, 0, '79 IS_NONEMPTY_LIST')
  145. p61 = new_with_vtable(4297440672)
  146. +663: i62 = arraylen_gc(p50, descr=<ArrayS 8>)
  147. +663: setfield_gc(p61, p10, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_right 40>)
  148. +667: setfield_gc(p61, p46, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_left 32>)
  149. +671: jump(i55, p56, p57, p3, p4, p54, p59, p58, p61, p14, p16, p18, p20, p22, p24, p26, p28, p30, p32, p34, p36, p38, p50, i55, p56, p57, p54, descr=TargetToken(4318126672))
  150. +749: --end of the loop--
  151. [1594f3c4fea9] jit-log-opt-loop}
  152. [1594fc317e69] {jit-log-opt-bridge
  153. # bridge out of Guard 0x101618250 with 49 ops
  154. [p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17]
  155. +59: p19 = getfield_gc(ConstPtr(ptr18), descr=<FieldP list.items 16>)
  156. +72: i21 = getarrayitem_gc(p19, 14, descr=<ArrayS 8>)
  157. +79: i22 = getfield_gc(p0, descr=<FieldS interpreter.interp.BeamRunTime.inst_current_line 16>)
  158. +84: p23 = getfield_gc(p0, descr=<FieldP interpreter.interp.BeamRunTime.inst_atoms 8>)
  159. +89: p24 = getfield_gc(p0, descr=<FieldP interpreter.interp.BeamRunTime.inst_func_list 24>)
  160. +94: p25 = getfield_gc(p0, descr=<FieldP interpreter.interp.BeamRunTime.inst_x_reg 32>)
  161. +99: p26 = getfield_gc(p0, descr=<FieldP interpreter.interp.BeamRunTime.inst_y_reg 40>)
  162. +111: guard_value(i21, 194, descr=<Guard0x101618480>) [i22, i21, p26, p25, p0, p24, p23, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17]
  163. debug_merge_point(0, 0, '194 TEST_HEAP')
  164. debug_merge_point(0, 0, '197 PUT_LIST')
  165. +124: i28 = ptr_eq(p25, p17)
  166. guard_true(i28, descr=<Guard0x101619280>) [p0, p25, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17]
  167. +137: guard_nonnull_class(p4, 4297440496, descr=<Guard0x101619210>) [p0, p2, p4, p1, p3, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17]
  168. debug_merge_point(0, 0, '201 MOVE')
  169. debug_merge_point(0, 0, '204 CALL_ONLY')
  170. +156: i31 = getarrayitem_gc(p19, 13, descr=<ArrayS 8>)
  171. +167: guard_value(i31, 156, descr=<Guard0x1016191a0>) [i22, i31, p26, p17, p0, p24, p23, p5, p3, p4, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p2]
  172. debug_merge_point(0, 0, '156 IS_NONEMPTY_LIST')
  173. +180: i33 = same_as(i22)
  174. +183: p34 = same_as(p23)
  175. +186: p35 = same_as(p24)
  176. +196: p36 = same_as(p26)
  177. +206: label(i22, p23, p24, p0, p17, p26, p5, p4, p2, p3, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p19, i33, p34, p35, p36, descr=TargetToken(4318126992))
  178. +282: guard_nonnull_class(p5, 4297440672, descr=<Guard0x101619130>) [p0, p5, p3, p4, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p2]
  179. debug_merge_point(0, 0, '160 GET_LIST')
  180. +301: p38 = getfield_gc_pure(p5, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_left 32>)
  181. +305: p39 = getfield_gc_pure(p5, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_right 40>)
  182. debug_merge_point(0, 0, '164 IS_NONEMPTY_LIST')
  183. +309: guard_nonnull_class(p39, 4297440672, descr=<Guard0x1016190c0>) [p0, p39, p5, p3, p38, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p4, p2]
  184. debug_merge_point(0, 0, '167 GET_LIST')
  185. +328: p41 = getfield_gc_pure(p39, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_left 32>)
  186. +332: p42 = getfield_gc_pure(p39, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_right 40>)
  187. debug_merge_point(0, 0, '171 IS_LT')
  188. +336: guard_class(p41, 4297440496, descr=<Guard0x101619050>) [p0, p41, p38, p5, p3, p39, p42, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p4, p2]
  189. +348: guard_nonnull_class(p38, 4297440496, descr=<Guard0x101618fe0>) [p0, p41, p38, p5, p3, p39, p42, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p4, p2]
  190. +366: i45 = getfield_gc(p41, descr=<FieldS pyrlang.interpreter.datatypes.root.W_Root.inst_intval 24>)
  191. +370: i46 = getfield_gc(p38, descr=<FieldS pyrlang.interpreter.datatypes.root.W_Root.inst_intval 24>)
  192. +374: i47 = int_lt(i45, i46)
  193. guard_false(i47, descr=<Guard0x101618f70>) [p0, p5, p3, p38, p39, p41, p42, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p4, p2]
  194. debug_merge_point(0, 0, '194 TEST_HEAP')
  195. debug_merge_point(0, 0, '197 PUT_LIST')
  196. debug_merge_point(0, 0, '201 MOVE')
  197. debug_merge_point(0, 0, '204 CALL_ONLY')
  198. debug_merge_point(0, 0, '156 IS_NONEMPTY_LIST')
  199. p49 = new_with_vtable(4297440672)
  200. +469: i50 = arraylen_gc(p19, descr=<ArrayS 8>)
  201. +469: setfield_gc(p49, p2, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_right 40>)
  202. +473: setfield_gc(p49, p4, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_left 32>)
  203. +477: jump(i33, p34, p35, p0, p17, p36, p39, p38, p49, p3, p41, p42, p8, p9, p10, p11, p12, p13, p14, p15, p16, p19, i33, p34, p35, p36, descr=TargetToken(4318126992))
  204. +554: --end of the loop--
  205. [1594fc36fa60] jit-log-opt-bridge}
  206. [159551ffae05] {jit-log-opt-bridge
  207. # bridge out of Guard 0x101618410 with 53 ops
  208. [p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17]
  209. +59: guard_nonnull_class(p1, ConstClass(W_NilObject), descr=<Guard0x101618b80>) [p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17]
  210. +77: p20 = getfield_gc(ConstPtr(ptr19), descr=<FieldP list.items 16>)
  211. +90: i22 = getarrayitem_gc(p20, 15, descr=<ArrayS 8>)
  212. +97: i23 = getfield_gc(p0, descr=<FieldS interpreter.interp.BeamRunTime.inst_current_line 16>)
  213. +102: p24 = getfield_gc(p0, descr=<FieldP interpreter.interp.BeamRunTime.inst_atoms 8>)
  214. +107: p25 = getfield_gc(p0, descr=<FieldP interpreter.interp.BeamRunTime.inst_func_list 24>)
  215. +112: p26 = getfield_gc(p0, descr=<FieldP interpreter.interp.BeamRunTime.inst_x_reg 32>)
  216. +117: p27 = getfield_gc(p0, descr=<FieldP interpreter.interp.BeamRunTime.inst_y_reg 40>)
  217. +122: guard_value(i22, 210, descr=<Guard0x101619520>) [i23, i22, p27, p26, p0, p25, p24, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17]
  218. debug_merge_point(0, 0, '210 IS_NIL')
  219. +135: i29 = ptr_eq(p26, p17)
  220. guard_true(i29, descr=<Guard0x1016194b0>) [p0, p26, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17]
  221. debug_merge_point(0, 0, '213 IS_ATOM')
  222. +148: guard_nonnull_class(p3, ConstClass(W_AtomObject), descr=<Guard0x101619440>) [p0, p3, p1, p2, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17]
  223. debug_merge_point(0, 0, '216 SELECT_VAL')
  224. +174: i31 = getfield_gc(p3, descr=<FieldS pyrlang.interpreter.datatypes.root.W_Root.inst_indexval 16>)
  225. +178: i33 = int_eq(8, i31)
  226. guard_false(i33, descr=<Guard0x1016193d0>) [p0, p3, p1, p2, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17]
  227. +188: i35 = int_eq(9, i31)
  228. guard_true(i35, descr=<Guard0x101619360>) [p0, p3, p1, p2, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17]
  229. +198: i37 = getarrayitem_gc(p20, 17, descr=<ArrayS 8>)
  230. +205: guard_value(i37, 239, descr=<Guard0x1016192f0>) [i23, i37, p27, p17, p0, p25, p24, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16]
  231. debug_merge_point(0, 0, '239 ALLOCATE')
  232. debug_merge_point(0, 0, '242 MOVE')
  233. debug_merge_point(0, 0, '245 LINE')
  234. debug_merge_point(0, 0, '247 CALL')
  235. +218: p39 = getfield_gc(p27, descr=<FieldP interpreter.register.Y_Register.inst_regs 8>)
  236. +222: i40 = getfield_gc(p39, descr=<FieldS list.length 8>)
  237. +226: i42 = int_add(i40, 1)
  238. +230: p43 = getfield_gc(p39, descr=<FieldP list.items 16>)
  239. +234: i44 = arraylen_gc(p43, descr=<ArrayP 8>)
  240. +238: i45 = int_lt(i44, i42)
  241. +249: cond_call(i45, ConstClass(_ll_list_resize_hint_really_look_inside_iff__listPtr_Signed_Bool), p39, i42, 1, descr=<Callv 0 rii EF=4>)
  242. +320: setfield_gc(p0, 9, descr=<FieldS interpreter.interp.BeamRunTime.inst_current_line 16>)
  243. +329: guard_no_exception(descr=<Guard0x101618f00>) [p0, i40, p39, i42, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17]
  244. +349: p49 = getfield_gc(p39, descr=<FieldP list.items 16>)
  245. p51 = new_with_vtable(4297441128)
  246. +446: setfield_gc(p51, 250, descr=<FieldS pyrlang.interpreter.datatypes.root.W_Root.inst_addrval 8>)
  247. +500: setarrayitem_gc(p49, i40, p51, descr=<ArrayP 8>)
  248. +505: i54 = getarrayitem_gc(p20, 4, descr=<ArrayS 8>)
  249. +509: setfield_gc(p39, i42, descr=<FieldS list.length 8>)
  250. +513: guard_value(i54, 63, descr=<Guard0x101618c60>) [i54, p27, p26, p0, p25, p24, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17]
  251. debug_merge_point(0, 0, '63 MOVE')
  252. debug_merge_point(0, 0, '66 CALL_ONLY')
  253. +523: i57 = getarrayitem_gc(p20, 6, descr=<ArrayS 8>)
  254. +527: guard_value(i57, 79, descr=<Guard0x101618bf0>) [i57, p27, p17, p0, p25, p24, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16]
  255. debug_merge_point(0, 0, '79 IS_NONEMPTY_LIST')
  256. +537: p59 = same_as(p27)
  257. +537: p60 = same_as(p24)
  258. +537: p61 = same_as(p25)
  259. +537: label(p24, p25, p0, p17, p27, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, descr=TargetToken(4318127152))
  260. p63 = new_with_vtable(ConstClass(W_NilObject))
  261. +657: jump(9, p24, p25, p0, p17, p27, p2, p63, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, descr=TargetToken(4318126592))
  262. +848: --end of the loop--
  263. [15955205915f] jit-log-opt-bridge}
  264. [159552a6828b] {jit-log-opt-bridge
  265. # bridge out of Guard 0x101618d40 with 49 ops
  266. [p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17]
  267. +59: guard_nonnull_class(p1, ConstClass(W_NilObject), descr=<Guard0x101619c90>) [p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17]
  268. +78: p20 = getfield_gc(ConstPtr(ptr19), descr=<FieldP list.items 16>)
  269. +91: i22 = getarrayitem_gc(p20, 7, descr=<ArrayS 8>)
  270. +95: i23 = getfield_gc(p0, descr=<FieldS interpreter.interp.BeamRunTime.inst_current_line 16>)
  271. +106: p24 = getfield_gc(p0, descr=<FieldP interpreter.interp.BeamRunTime.inst_atoms 8>)
  272. +110: p25 = getfield_gc(p0, descr=<FieldP interpreter.interp.BeamRunTime.inst_func_list 24>)
  273. +114: p26 = getfield_gc(p0, descr=<FieldP interpreter.interp.BeamRunTime.inst_x_reg 32>)
  274. +118: p27 = getfield_gc(p0, descr=<FieldP interpreter.interp.BeamRunTime.inst_y_reg 40>)
  275. +122: guard_value(i22, 98, descr=<Guard0x101619c20>) [i23, i22, p27, p26, p0, p25, p24, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17]
  276. debug_merge_point(0, 0, '98 IS_NIL')
  277. +132: i29 = ptr_eq(p26, p16)
  278. guard_true(i29, descr=<Guard0x101619bb0>) [p0, p26, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17]
  279. debug_merge_point(0, 0, '101 MOVE')
  280. debug_merge_point(0, 0, '104 RETURN')
  281. +145: p30 = getfield_gc(p27, descr=<FieldP interpreter.register.Y_Register.inst_regs 8>)
  282. +149: i31 = getfield_gc(p30, descr=<FieldS list.length 8>)
  283. +153: i32 = int_is_zero(i31)
  284. guard_false(i32, descr=<Guard0x101619b40>) [p0, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17]
  285. +163: i34 = int_sub(i31, 1)
  286. +167: p35 = getfield_gc(p30, descr=<FieldP list.items 16>)
  287. +171: p36 = getarrayitem_gc(p35, i34, descr=<ArrayP 8>)
  288. +176: setarrayitem_gc(p35, i34, ConstPtr(null), descr=<ArrayP 8>)
  289. +185: i38 = arraylen_gc(p35, descr=<ArrayP 8>)
  290. +196: i40 = int_rshift(i38, 1)
  291. +199: i42 = int_sub(i40, 5)
  292. +203: i43 = int_lt(i34, i42)
  293. +214: cond_call(i43, ConstClass(_ll_list_resize_hint_really_look_inside_iff__listPtr_Signed_Bool), p30, i34, 0, descr=<Callv 0 rii EF=4>)
  294. +293: guard_no_exception(descr=<Guard0x101619ad0>) [p0, p36, i34, p30, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17]
  295. +313: i46 = getfield_gc(p36, descr=<FieldS pyrlang.interpreter.datatypes.root.W_Root.inst_addrval 8>)
  296. +317: setfield_gc(p30, i34, descr=<FieldS list.length 8>)
  297. +321: guard_value(i46, 250, descr=<Guard0x101619a60>) [i23, i46, p27, p26, p0, p25, p24, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17]
  298. debug_merge_point(0, 0, '250 MOVE')
  299. debug_merge_point(0, 0, '253 MOVE')
  300. debug_merge_point(0, 0, '256 CALL_LAST')
  301. +334: i49 = getarrayitem_gc(p20, 13, descr=<ArrayS 8>)
  302. +338: guard_value(i49, 156, descr=<Guard0x1016199f0>) [i23, i49, p27, p16, p0, p25, p24, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p2, p17]
  303. debug_merge_point(0, 0, '156 IS_NONEMPTY_LIST')
  304. +351: p51 = same_as(p25)
  305. +351: p52 = same_as(p27)
  306. +351: i53 = same_as(i23)
  307. +351: p54 = same_as(p24)
  308. +351: label(i23, p24, p25, p0, p16, p27, p2, p17, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, descr=TargetToken(4318127232))
  309. p56 = new_with_vtable(4297440672)
  310. p58 = new_with_vtable(ConstClass(W_NilObject))
  311. p60 = new_with_vtable(ConstClass(W_AtomObject))
  312. +486: setfield_gc(p56, p17, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_right 40>)
  313. +490: setfield_gc(p56, p2, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_left 32>)
  314. +494: setfield_gc(p60, 8, descr=<FieldS pyrlang.interpreter.datatypes.root.W_Root.inst_indexval 16>)
  315. +502: jump(i23, p24, p25, p0, p16, p27, p56, p58, p60, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, descr=TargetToken(4318126192))
  316. +692: --end of the loop--
  317. [159552ac85f6] jit-log-opt-bridge}
  318. [159553556eed] {jit-log-opt-bridge
  319. # bridge out of Guard 0x101618090 with 49 ops
  320. [p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16]
  321. +59: p18 = getfield_gc(ConstPtr(ptr17), descr=<FieldP list.items 16>)
  322. +72: i20 = getarrayitem_gc(p18, 14, descr=<ArrayS 8>)
  323. +79: i21 = getfield_gc(p0, descr=<FieldS interpreter.interp.BeamRunTime.inst_current_line 16>)
  324. +90: p22 = getfield_gc(p0, descr=<FieldP interpreter.interp.BeamRunTime.inst_atoms 8>)
  325. +94: p23 = getfield_gc(p0, descr=<FieldP interpreter.interp.BeamRunTime.inst_func_list 24>)
  326. +98: p24 = getfield_gc(p0, descr=<FieldP interpreter.interp.BeamRunTime.inst_x_reg 32>)
  327. +102: p25 = getfield_gc(p0, descr=<FieldP interpreter.interp.BeamRunTime.inst_y_reg 40>)
  328. +106: guard_value(i20, 194, descr=<Guard0x1033a8950>) [i21, i20, p25, p24, p0, p23, p22, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p16, p15]
  329. debug_merge_point(0, 0, '194 TEST_HEAP')
  330. debug_merge_point(0, 0, '197 PUT_LIST')
  331. +119: i27 = ptr_eq(p24, p14)
  332. guard_true(i27, descr=<Guard0x1033a88e0>) [p0, p24, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p16, p15]
  333. +132: guard_nonnull_class(p1, 4297440496, descr=<Guard0x1033a8870>) [p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p16, p15]
  334. debug_merge_point(0, 0, '201 MOVE')
  335. debug_merge_point(0, 0, '204 CALL_ONLY')
  336. +157: i30 = getarrayitem_gc(p18, 13, descr=<ArrayS 8>)
  337. +161: guard_value(i30, 156, descr=<Guard0x1033a8800>) [i21, i30, p25, p14, p0, p23, p22, p2, p1, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p16, p15]
  338. debug_merge_point(0, 0, '156 IS_NONEMPTY_LIST')
  339. +174: p32 = same_as(p23)
  340. +177: p33 = same_as(p22)
  341. +187: p34 = same_as(p25)
  342. +190: i35 = same_as(i21)
  343. +200: label(i21, p22, p23, p0, p14, p25, p2, p1, p15, p16, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p18, i35, p33, p32, p34, descr=TargetToken(4349100064))
  344. +276: guard_nonnull_class(p2, 4297440672, descr=<Guard0x1033a8db0>) [p0, p2, p1, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16]
  345. debug_merge_point(0, 0, '160 GET_LIST')
  346. +294: p37 = getfield_gc_pure(p2, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_left 32>)
  347. +298: p38 = getfield_gc_pure(p2, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_right 40>)
  348. debug_merge_point(0, 0, '164 IS_NONEMPTY_LIST')
  349. +302: guard_nonnull_class(p38, 4297440672, descr=<Guard0x1033a8cd0>) [p0, p38, p2, p37, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p1, p15, p16]
  350. debug_merge_point(0, 0, '167 GET_LIST')
  351. +322: p40 = getfield_gc_pure(p38, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_left 32>)
  352. +326: p41 = getfield_gc_pure(p38, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_right 40>)
  353. debug_merge_point(0, 0, '171 IS_LT')
  354. +330: guard_class(p40, 4297440496, descr=<Guard0x1033a8bf0>) [p0, p40, p37, p2, p38, p41, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p1, p15, p16]
  355. +343: guard_nonnull_class(p37, 4297440496, descr=<Guard0x1033a8b80>) [p0, p40, p37, p2, p38, p41, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p1, p15, p16]
  356. +362: i44 = getfield_gc(p40, descr=<FieldS pyrlang.interpreter.datatypes.root.W_Root.inst_intval 24>)
  357. +366: i45 = getfield_gc(p37, descr=<FieldS pyrlang.interpreter.datatypes.root.W_Root.inst_intval 24>)
  358. +370: i46 = int_lt(i44, i45)
  359. guard_false(i46, descr=<Guard0x1033a8aa0>) [p0, p2, p37, p38, p40, p41, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p1, p15, p16]
  360. debug_merge_point(0, 0, '194 TEST_HEAP')
  361. debug_merge_point(0, 0, '197 PUT_LIST')
  362. debug_merge_point(0, 0, '201 MOVE')
  363. debug_merge_point(0, 0, '204 CALL_ONLY')
  364. debug_merge_point(0, 0, '156 IS_NONEMPTY_LIST')
  365. p48 = new_with_vtable(4297440672)
  366. +465: i49 = arraylen_gc(p18, descr=<ArrayS 8>)
  367. +465: setfield_gc(p48, p16, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_right 40>)
  368. +469: setfield_gc(p48, p15, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_left 32>)
  369. +473: jump(i35, p33, p32, p0, p14, p34, p38, p37, p1, p48, p40, p41, p5, p6, p7, p8, p9, p10, p11, p12, p13, p18, i35, p33, p32, p34, descr=TargetToken(4349100064))
  370. +561: --end of the loop--
  371. [1595535ad800] jit-log-opt-bridge}
  372. [15962571f765] {jit-log-opt-bridge
  373. # bridge out of Guard 0x1033a8cd0 with 31 ops
  374. [p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18]
  375. +59: guard_nonnull_class(p1, ConstClass(W_NilObject), descr=<Guard0x1033a8020>) [p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p18, p17, p16]
  376. +79: p21 = getfield_gc(ConstPtr(ptr20), descr=<FieldP list.items 16>)
  377. +92: i23 = getarrayitem_gc(p21, 14, descr=<ArrayS 8>)
  378. +99: i24 = getfield_gc(p0, descr=<FieldS interpreter.interp.BeamRunTime.inst_current_line 16>)
  379. +110: p25 = getfield_gc(p0, descr=<FieldP interpreter.interp.BeamRunTime.inst_atoms 8>)
  380. +114: p26 = getfield_gc(p0, descr=<FieldP interpreter.interp.BeamRunTime.inst_func_list 24>)
  381. +118: p27 = getfield_gc(p0, descr=<FieldP interpreter.interp.BeamRunTime.inst_x_reg 32>)
  382. +122: p28 = getfield_gc(p0, descr=<FieldP interpreter.interp.BeamRunTime.inst_y_reg 40>)
  383. +126: guard_value(i23, 194, descr=<Guard0x1033a8560>) [i24, i23, p28, p27, p0, p26, p25, p2, p3, p1, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p18, p17, p16]
  384. debug_merge_point(0, 0, '194 TEST_HEAP')
  385. debug_merge_point(0, 0, '197 PUT_LIST')
  386. +139: i30 = ptr_eq(p27, p15)
  387. guard_true(i30, descr=<Guard0x1033a84f0>) [p0, p27, p2, p3, p1, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p18, p17, p16]
  388. +152: guard_nonnull_class(p3, 4297440496, descr=<Guard0x1033a8480>) [p0, p3, p2, p1, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p18, p17, p16]
  389. debug_merge_point(0, 0, '201 MOVE')
  390. debug_merge_point(0, 0, '204 CALL_ONLY')
  391. +171: i33 = getarrayitem_gc(p21, 13, descr=<ArrayS 8>)
  392. +175: guard_value(i33, 156, descr=<Guard0x1033a8410>) [i24, i33, p28, p15, p0, p26, p25, p1, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p18, p17, p16]
  393. debug_merge_point(0, 0, '156 IS_NONEMPTY_LIST')
  394. p36 = new_with_vtable(4297440672)
  395. p38 = new_with_vtable(4297440672)
  396. p40 = new_with_vtable(4297440672)
  397. +292: setfield_gc(p40, p18, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_right 40>)
  398. +296: setfield_gc(p40, p17, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_left 32>)
  399. +300: setfield_gc(p38, p40, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_right 40>)
  400. +304: setfield_gc(p38, p16, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_left 32>)
  401. p42 = new_with_vtable(ConstClass(W_AtomObject))
  402. +326: setfield_gc(p36, p38, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_right 40>)
  403. +330: setfield_gc(p36, p3, descr=<FieldP pyrlang.interpreter.datatypes.list.W_ListObject.inst_left 32>)
  404. +334: setfield_gc(p42, 9, descr=<FieldS pyrlang.interpreter.datatypes.root.W_Root.inst_indexval 16>)
  405. +342: jump(i24, p25, p26, p0, p15, p28, p1, p36, p42, p3, p1, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, descr=TargetToken(4318126192))
  406. +431: --end of the loop--
  407. [15962576a9d8] jit-log-opt-bridge}
  408. [15a6bdea2546] {jit-backend-counts
  409. entry 0:1613
  410. TargetToken(4318126192):40434
  411. TargetToken(4318126272):199988721
  412. entry 1:241
  413. TargetToken(4318126592):20000
  414. TargetToken(4318126672):399998953
  415. bridge 4318134864:218
  416. TargetToken(4318126992):47761
  417. bridge 4318135312:19760
  418. TargetToken(4318127152):19759
  419. bridge 4318137664:19763
  420. TargetToken(4318127232):19762
  421. bridge 4318134416:19761
  422. TargetToken(4349100064):199941798
  423. bridge 4349136080:19059
  424. [15a6bdeb2f89] jit-backend-counts}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement