   0  inline_call_r_r <JitCode 'finditem_str'>, R[%r1, $<* struct rpy_string>] -> %r2
   7  -live- %i0, %r0, %r1, %r2
   7  -live- %i0, %r0, %r1, %r2
   7  ref_guard_value %r2
   9  -live- %i0, %r0, %r1, %r2
   9  int_guard_value %i0
  11  -live- %i0, %r0, %r1, %r2
  11  goto_if_not_ptr_iszero %r2, L1
  15  L2:
  15  inline_call_r_r <JitCode 'finditem_str'>, R[%r1, $<* struct rpy_string>] -> %r4
  22  -live- %i0, %r0, %r1, %r4
  22  inline_call_r_r <JitCode 'finditem_str'>, R[%r1, $<* struct rpy_string>] -> %r5
  29  -live- %i0, %r0, %r1, %r4, %r5
  29  -live- %i0, %r0, %r1, %r4, %r5
  29  ref_guard_value %r4
  31  -live- %i0, %r0, %r1, %r4, %r5
  31  goto_if_not_ptr_iszero %r4, L3
  35  ref_return $<* struct tuple2>
  37  ---
  37  L3:
  37  inline_call_r_r <JitCode 'ObjSpace.str0_w'>, R[%r4] -> %r2
  43  -live- %i0, %r0, %r1, %r2, %r4, %r5
  43  catch_exception L4
  46  strlen %r2 -> %i1
  49  -live- %i0, %i1, %r0, %r1, %r2, %r4, %r5
  49  goto_if_not_int_is_true %i1, L5
  53  int_sub %i0, $1 -> %i1
  57  -live- %i0, %i1, %r0, %r1, %r2, %r4, %r5
  57  goto_if_not_int_gt %i1, $0, L6
  62  L7:
  62  -live- %i0, %i1, %r0, %r1, %r2, %r4, %r5
  62  goto_if_not_ptr_iszero %r5, L8
  66  int_add %i1, $1 -> %i1
  70  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r5
  73  L9:
  73  residual_call_ir_i $<* fn _get_dot_position>, I[%i1], R[%r2], <CallDescr(ri) EF=0> -> %i1
  82  -live- %i0, %i1, %r0, %r1, %r2, %r4, %r5
  82  goto_if_not_int_lt %i1, $0, L10
  87  -live- %i0, %r0, %r1, %r2, %r4, %r5
  87  goto_if_not_int_gt %i0, $0, L11
  92  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x10096124f10> -> %r2
  96  setfield_gc_r %r2, $<* struct rpy_string>, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 101  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x10094c3ea50> -> %r3
 105  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 110  setfield_gc_r %r3, %r2, FieldDescr<pypy.interpreter.error.OperationError.inst__w_value>
 115  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst__application_traceback>
 120  -live- %r3
 120  raise %r3
 122  ---
 122  L11:
 122  int_copy $0 -> %i0
 125  ref_copy $<* struct rpy_string> -> %r3
 128  L12:
 128  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
 128  goto_if_not_ptr_iszero %r5, L13
 132  strlen %r2 -> %i1
 135  residual_call_ir_i $<* fn ll_rfind_char__rpy_stringPtr_Char_Signed_Signed>, I[$'.', $0, %i1], R[%r2], <CallDescr(riii) EF=0> -> %i2
 146  -live- %i0, %i2, %r0, %r1, %r2, %r3
 146  goto_if_not_int_lt %i2, $0, L14
 151  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x10096124f10> -> %r2
 155  setfield_gc_r %r2, $<* struct rpy_string>, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 160  inline_call_r_r <JitCode 'setitem'>, R[%r1, %r2, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %r2
 168  -live- %i0, %r0, %r3
 168  L15:
 168  strlen %r0 -> %i1
 171  -live- %i0, %i1, %r0, %r3
 171  goto_if_not_int_is_true %i1, L16
 175  ref_copy %r3 -> %r2
 178  ref_copy %r0 -> %r3
 181  strlen %r2 -> %i1
 184  -live- %i0, %i1, %r2, %r3
 184  goto_if_not_int_is_true %i1, L17
 188  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[$<* struct rpy_string>, %r3], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r1
 196  -live- %i0, %r1, %r2
 196  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r2, %r1], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r3
 204  -live- %i0, %r3
 204  L18:
 204  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x10038efc750> -> %r2
 208  setfield_gc_r %r2, %r3, FieldDescr<tuple2.item0>
 213  setfield_gc_i %r2, %i0, FieldDescr<tuple2.item1>
 218  ref_return %r2
 220  ---
 220  L17:
 220  goto L18
 223  ---
 223  L16:
 223  goto L18
 226  ---
 226  L14:
 226  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x10096124f10> -> %r4
 230  setfield_gc_r %r4, $<* struct rpy_string>, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 235  strlen %r2 -> %i1
 238  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4
 238  goto_if_not_int_gt %i2, %i1, L19
 243  strlen %r2 -> %i2
 246  L20:
 246  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[$0, %i2], R[%r2], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r2
 256  -live- %i0, %r0, %r1, %r2, %r3, %r4
 256  -live- %i0, %r0, %r1, %r2, %r3, %r4
 256  goto_if_not_ptr_iszero %r2, L21
 260  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r5
 263  L22:
 263  inline_call_r_r <JitCode 'setitem'>, R[%r1, %r4, %r5] -> %r2
 271  -live- %i0, %r0, %r3
 271  goto L15
 274  ---
 274  L21:
 274  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x10096124f10> -> %r5
 278  setfield_gc_r %r5, %r2, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 283  goto L22
 286  ---
 286  L19:
 286  goto L20
 289  ---
 289  L13:
 289  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x10096124f10> -> %r2
 293  setfield_gc_r %r2, $<* struct rpy_string>, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 298  inline_call_r_r <JitCode 'setitem'>, R[%r1, %r2, %r4] -> %r2
 306  -live- %i0, %r0, %r3
 306  goto L15
 309  ---
 309  L10:
 309  strlen %r2 -> %i0
 312  -live- %i0, %i1, %r0, %r1, %r2, %r4, %r5
 312  goto_if_not_int_gt %i1, %i0, L23
 317  strlen %r2 -> %i1
 320  L24:
 320  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[$0, %i1], R[%r2], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r3
 330  -live- %r0, %r1, %r2, %r3, %r4, %r5
 330  strlen %r3 -> %i1
 333  residual_call_ir_i $<* fn ll_count_char__rpy_stringPtr_Char_Signed_Signed>, I[$'.', $0, %i1], R[%r3], <CallDescr(riii) EF=0> -> %i1
 344  int_add %i1, $1 -> %i0
 348  goto L12
 351  ---
 351  L23:
 351  goto L24
 354  ---
 354  L8:
 354  goto L9
 357  ---
 357  L6:
 357  int_copy $0 -> %i1
 360  goto L7
 363  ---
 363  L5:
 363  ref_return $<* struct tuple2>
 365  ---
 365  L4:
 365  goto_if_exception_mismatch $<* struct object_vtable>, L25
 369  last_exception -> %i3
 371  last_exc_value -> %r3
 373  getfield_gc_r %r3, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type> -> %r2
 378  inline_call_r_i <JitCode 'exception_match'>, R[%r2, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %i1
 385  -live- %i1, %r3
 385  -live- %i1, %r3
 385  goto_if_not %i1, L26
 389  ref_return $<* struct tuple2>
 391  ---
 391  L26:
 391  -live- %r3
 391  raise %r3
 393  ---
 393  L25:
 393  reraise
 394  ---
 394  L1:
 394  instance_ptr_eq %r2, $<* struct pypy.interpreter.baseobjspace.W_Root> -> %i1
 398  -live- %i0, %i1, %r0, %r1, %r2
 398  goto_if_not %i1, L27
 402  goto L2
 405  ---
 405  L27:
 405  inline_call_r_r <JitCode 'ObjSpace.str0_w'>, R[%r2] -> %r1
 411  -live- %i0, %r0, %r1
 411  catch_exception L28
 414  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r1, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i1
 422  -live- %i0, %i1, %r0, %r1
 422  goto_if_not %i1, L29
 426  -live- %i0, %r0, %r1
 426  goto_if_not_int_lt %i0, $0, L30
 431  ref_return $<* struct tuple2>
 433  ---
 433  L30:
 433  L31:
 433  int_sub %i0, $1 -> %i1
 437  residual_call_ir_i $<* fn _get_dot_position>, I[%i1], R[%r1], <CallDescr(ri) EF=0> -> %i2
 446  -live- %i0, %i2, %r0, %r1
 446  goto_if_not_int_lt %i2, $0, L32
 451  strlen %r1 -> %i1
 454  -live- %i1
 454  goto_if_not_int_is_zero %i1, L33
 458  ref_copy $<* struct rpy_string> -> %r1
 461  L34:
 461  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x10096124f10> -> %r2
 465  setfield_gc_r %r2, %r1, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 470  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x10094c3ea50> -> %r3
 474  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 479  setfield_gc_r %r3, %r2, FieldDescr<pypy.interpreter.error.OperationError.inst__w_value>
 484  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst__application_traceback>
 489  -live- %r3
 489  raise %r3
 491  ---
 491  L33:
 491  ref_copy $<* struct rpy_string> -> %r1
 494  goto L34
 497  ---
 497  L32:
 497  inline_call_ir_r <JitCode 'absolute_import'>, I[$0, $0], R[%r1, $<* None>] -> %r2
 507  -live- %i0, %i2, %r0, %r1
 507  catch_exception L35
 510  L36:
 510  strlen %r1 -> %i1
 513  -live- %i1, %i2, %r0, %r1
 513  goto_if_not_int_gt %i2, %i1, L37
 518  strlen %r1 -> %i2
 521  L38:
 521  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[$0, %i2], R[%r1], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r3
 531  -live- %r0, %r3
 531  strlen %r3 -> %i1
 534  residual_call_ir_i $<* fn ll_count_char__rpy_stringPtr_Char_Signed_Signed>, I[$'.', $0, %i1], R[%r3], <CallDescr(riii) EF=0> -> %i1
 545  int_add %i1, $1 -> %i0
 549  strlen %r0 -> %i1
 552  -live- %i0, %i1, %r0, %r3
 552  goto_if_not_int_is_true %i1, L39
 556  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[$<* struct rpy_string>, %r0], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r2
 564  -live- %i0, %r2, %r3
 564  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r3, %r2], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r3
 572  -live- %i0, %r3
 572  goto L18
 575  ---
 575  L39:
 575  goto L18
 578  ---
 578  L37:
 578  goto L38
 581  ---
 581  L35:
 581  goto_if_exception_mismatch $<* struct object_vtable>, L40
 585  last_exception -> %i3
 587  last_exc_value -> %r3
 589  getfield_gc_r %r3, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type> -> %r2
 594  inline_call_r_i <JitCode 'exception_match'>, R[%r2, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %i1
 601  -live- %i0, %i1, %i2, %r0, %r1, %r3
 601  -live- %i0, %i1, %i2, %r0, %r1, %r3
 601  goto_if_not %i1, L41
 605  -live- %i0, %i2, %r0, %r1
 605  goto_if_not_int_gt %i0, $0, L42
 610  new_array_clear $3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009b08cc50> -> %r2
 615  setarrayitem_gc_r %r2, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009b08cc50>
 621  -live- %r1, %r2
 621  goto_if_not_ptr_nonzero %r1, L43
 625  L44:
 625  setarrayitem_gc_r %r2, $1, %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009b08cc50>
 631  setarrayitem_gc_r %r2, $2, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009b08cc50>
 637  ref_isvirtual %r2 -> %i1
 640  -live- %i1, %r2
 640  goto_if_not %i1, L45
 644  inline_call_ir_r <JitCode 'll_join_strs__v1178___simple_call__function_'>, I[$3], R[%r2] -> %r1
 652  -live- %r1
 652  L46:
 652  -live- %r1
 652  goto_if_not_ptr_iszero %r1, L47
 656  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r2
 659  L48:
 659  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x10094c3ea50> -> %r3
 663  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 668  setfield_gc_r %r3, %r2, FieldDescr<pypy.interpreter.error.OperationError.inst__w_value>
 673  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst__application_traceback>
 678  -live- %r3
 678  raise %r3
 680  ---
 680  L47:
 680  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x10096124f10> -> %r2
 684  setfield_gc_r %r2, %r1, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 689  goto L48
 692  ---
 692  L45:
 692  int_isconstant $3 -> %i1
 695  -live- %i1, %r2
 695  goto_if_not %i1, L49
 699  L50:
 699  residual_call_ir_r $<* fn ll_join_strs_trampoline__v1181___simple_call__function_>, I[$3], R[%r2], <CallDescr(ir) EF=5> -> %r1
 708  -live- %r1
 708  goto L46
 711  ---
 711  L49:
 711  goto L50
 714  ---
 714  L43:
 714  ref_copy $<* struct rpy_string> -> %r1
 717  goto L44
 720  ---
 720  L42:
 720  new_array_clear $3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009b08cc50> -> %r3
 725  setarrayitem_gc_r %r3, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009b08cc50>
 731  -live- %i2, %r0, %r1, %r3
 731  goto_if_not_ptr_nonzero %r1, L51
 735  ref_copy %r1 -> %r2
 738  L52:
 738  setarrayitem_gc_r %r3, $1, %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009b08cc50>
 744  setarrayitem_gc_r %r3, $2, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009b08cc50>
 750  ref_isvirtual %r3 -> %i1
 753  -live- %i1, %i2, %r0, %r1, %r3
 753  goto_if_not %i1, L53
 757  inline_call_ir_r <JitCode 'll_join_strs__v1178___simple_call__function_'>, I[$3], R[%r3] -> %r3
 765  -live- %i2, %r0, %r1, %r3
 765  L54:
 765  -live- %i2, %r0, %r1, %r3
 765  goto_if_not_ptr_iszero %r3, L55
 769  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r2
 772  L56:
 772  inline_call_ir_v <JitCode 'warn'>, I[$2], R[%r2, $<* struct pypy.objspace.std.typeobject.W_TypeObject>]
 780  -live- %i2, %r0, %r1
 780  goto L36
 783  ---
 783  L55:
 783  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x10096124f10> -> %r2
 787  setfield_gc_r %r2, %r3, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 792  goto L56
 795  ---
 795  L53:
 795  int_isconstant $3 -> %i1
 798  -live- %i1, %i2, %r0, %r1, %r3
 798  goto_if_not %i1, L57
 802  L58:
 802  residual_call_ir_r $<* fn ll_join_strs_trampoline__v1181___simple_call__function_>, I[$3], R[%r3], <CallDescr(ir) EF=5> -> %r3
 811  -live- %i2, %r0, %r1, %r3
 811  goto L54
 814  ---
 814  L57:
 814  goto L58
 817  ---
 817  L51:
 817  ref_copy $<* struct rpy_string> -> %r2
 820  goto L52
 823  ---
 823  L41:
 823  -live- %r3
 823  raise %r3
 825  ---
 825  L40:
 825  reraise
 826  ---
 826  L29:
 826  goto L31
 829  ---
 829  L28:
 829  goto_if_exception_mismatch $<* struct object_vtable>, L59
 833  last_exception -> %i3
 835  last_exc_value -> %r3
 837  getfield_gc_r %r3, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type> -> %r2
 842  inline_call_r_i <JitCode 'exception_match'>, R[%r2, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %i1
 849  -live- %i1, %r3
 849  -live- %i1, %r3
 849  goto_if_not %i1, L60
 853  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x10096124f10> -> %r2
 857  setfield_gc_r %r2, $<* struct rpy_string>, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 862  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x10094c3ea50> -> %r3
 866  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 871  setfield_gc_r %r3, %r2, FieldDescr<pypy.interpreter.error.OperationError.inst__w_value>
 876  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst__application_traceback>
 881  -live- %r3
 881  raise %r3
 883  ---
 883  L60:
 883  -live- %r3
 883  raise %r3
 885  ---
 885  L59:
 885  reraise
