   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.text0_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 0x7fff4a07fb90> -> %r3
  96  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 101  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 106  assert_not_none %r3
 108  -live- %r3
 108  guard_class %r3 -> %i3
 111  -live- %r3
 111  raise %r3
 113  ---
 113  L11:
 113  int_copy $0 -> %i0
 116  ref_copy $<* struct rpy_string> -> %r3
 119  L12:
 119  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
 119  goto_if_not_ptr_iszero %r5, L13
 123  strlen %r2 -> %i1
 126  residual_call_ir_i $<* fn ll_rfind_char__rpy_stringPtr_Char_Signed_Signed>, I[$'.', $0, %i1], R[%r2], <CallDescr(riii) EF=0> -> %i2
 137  -live- %i0, %i2, %r0, %r1, %r2, %r3
 137  goto_if_not_int_lt %i2, $0, L14
 142  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x7fff481d5aa0> -> %r2
 146  setfield_gc_r %r2, $<* struct rpy_string>, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 151  inline_call_r_r <JitCode 'setitem'>, R[%r1, %r2, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %r2
 159  -live- %i0, %r0, %r3
 159  L15:
 159  strlen %r0 -> %i1
 162  -live- %i0, %i1, %r0, %r3
 162  goto_if_not_int_is_true %i1, L16
 166  ref_copy %r3 -> %r2
 169  ref_copy %r0 -> %r3
 172  strlen %r2 -> %i1
 175  -live- %i0, %i1, %r2, %r3
 175  goto_if_not_int_is_true %i1, L17
 179  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[$<* struct rpy_string>, %r3], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r1
 187  -live- %i0, %r1, %r2
 187  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r2, %r1], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r3
 195  -live- %i0, %r3
 195  L18:
 195  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x7fff4a7bdcd0> -> %r2
 199  setfield_gc_r %r2, %r3, FieldDescr<tuple2.item0>
 204  setfield_gc_i %r2, %i0, FieldDescr<tuple2.item1>
 209  ref_return %r2
 211  ---
 211  L17:
 211  goto L18
 214  ---
 214  L16:
 214  goto L18
 217  ---
 217  L14:
 217  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x7fff481d5aa0> -> %r4
 221  setfield_gc_r %r4, $<* struct rpy_string>, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 226  strlen %r2 -> %i1
 229  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4
 229  goto_if_not_int_gt %i2, %i1, L19
 234  strlen %r2 -> %i2
 237  L20:
 237  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[$0, %i2], R[%r2], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r2
 247  -live- %i0, %r0, %r1, %r2, %r3, %r4
 247  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x7fff481d5aa0> -> %r5
 251  setfield_gc_r %r5, %r2, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 256  inline_call_r_r <JitCode 'setitem'>, R[%r1, %r4, %r5] -> %r2
 264  -live- %i0, %r0, %r3
 264  goto L15
 267  ---
 267  L19:
 267  goto L20
 270  ---
 270  L13:
 270  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x7fff481d5aa0> -> %r2
 274  setfield_gc_r %r2, $<* struct rpy_string>, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 279  inline_call_r_r <JitCode 'setitem'>, R[%r1, %r2, %r4] -> %r2
 287  -live- %i0, %r0, %r3
 287  goto L15
 290  ---
 290  L10:
 290  strlen %r2 -> %i0
 293  -live- %i0, %i1, %r0, %r1, %r2, %r4, %r5
 293  goto_if_not_int_gt %i1, %i0, L21
 298  strlen %r2 -> %i1
 301  L22:
 301  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[$0, %i1], R[%r2], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r3
 311  -live- %r0, %r1, %r2, %r3, %r4, %r5
 311  strlen %r3 -> %i1
 314  residual_call_ir_i $<* fn ll_count_char__rpy_stringPtr_Char_Signed_Signed>, I[$'.', $0, %i1], R[%r3], <CallDescr(riii) EF=0> -> %i1
 325  int_add %i1, $1 -> %i0
 329  goto L12
 332  ---
 332  L21:
 332  goto L22
 335  ---
 335  L8:
 335  goto L9
 338  ---
 338  L6:
 338  int_copy $0 -> %i1
 341  goto L7
 344  ---
 344  L5:
 344  ref_return $<* struct tuple2>
 346  ---
 346  L4:
 346  goto_if_exception_mismatch $<* struct object_vtable>, L23
 350  last_exception -> %i3
 352  last_exc_value -> %r3
 354  getfield_gc_r %r3, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type> -> %r2
 359  inline_call_r_i <JitCode 'exception_match'>, R[%r2, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %i1
 366  -live- %i1, %r3
 366  -live- %i1, %r3
 366  goto_if_not %i1, L24
 370  ref_return $<* struct tuple2>
 372  ---
 372  L24:
 372  -live- %r3
 372  raise %r3
 374  ---
 374  L23:
 374  reraise
 375  ---
 375  L1:
 375  instance_ptr_eq %r2, $<* struct pypy.interpreter.baseobjspace.W_Root> -> %i1
 379  -live- %i0, %i1, %r0, %r1, %r2
 379  goto_if_not %i1, L25
 383  goto L2
 386  ---
 386  L25:
 386  inline_call_r_r <JitCode 'ObjSpace.text0_w'>, R[%r2] -> %r1
 392  -live- %i0, %r0, %r1
 392  catch_exception L26
 395  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r1, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i1
 403  -live- %i0, %i1, %r0, %r1
 403  goto_if_not %i1, L27
 407  -live- %i0, %r0, %r1
 407  goto_if_not_int_lt %i0, $0, L28
 412  ref_return $<* struct tuple2>
 414  ---
 414  L28:
 414  L29:
 414  int_sub %i0, $1 -> %i1
 418  residual_call_ir_i $<* fn _get_dot_position>, I[%i1], R[%r1], <CallDescr(ri) EF=0> -> %i2
 427  -live- %i0, %i2, %r0, %r1
 427  goto_if_not_int_lt %i2, $0, L30
 432  strlen %r1 -> %i1
 435  -live- %i1
 435  goto_if_not_int_is_zero %i1, L31
 439  ref_copy $<* struct rpy_string> -> %r2
 442  L32:
 442  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x7fff4a098b90> -> %r3
 446  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 451  setfield_gc_r %r3, $<* struct tuple2>, FieldDescr<pypy.interpreter.error.OpErrFmt.inst_xstrings>
 456  setfield_gc_r %r3, %r2, FieldDescr<pypy.interpreter.error.OpErrFmt.inst_x0>
 461  assert_not_none %r3
 463  -live- %r3
 463  guard_class %r3 -> %i3
 466  -live- %r3
 466  raise %r3
 468  ---
 468  L31:
 468  ref_copy $<* struct rpy_string> -> %r2
 471  goto L32
 474  ---
 474  L30:
 474  inline_call_ir_r <JitCode 'absolute_import'>, I[$0, $0], R[%r1, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %r2
 484  -live- %i0, %i2, %r0, %r1
 484  catch_exception L33
 487  L34:
 487  strlen %r1 -> %i1
 490  -live- %i1, %i2, %r0, %r1
 490  goto_if_not_int_gt %i2, %i1, L35
 495  strlen %r1 -> %i2
 498  L36:
 498  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[$0, %i2], R[%r1], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r3
 508  -live- %r0, %r3
 508  strlen %r3 -> %i1
 511  residual_call_ir_i $<* fn ll_count_char__rpy_stringPtr_Char_Signed_Signed>, I[$'.', $0, %i1], R[%r3], <CallDescr(riii) EF=0> -> %i1
 522  int_add %i1, $1 -> %i0
 526  strlen %r0 -> %i1
 529  -live- %i0, %i1, %r0, %r3
 529  goto_if_not_int_is_true %i1, L37
 533  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[$<* struct rpy_string>, %r0], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r2
 541  -live- %i0, %r2, %r3
 541  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r3, %r2], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r3
 549  -live- %i0, %r3
 549  goto L18
 552  ---
 552  L37:
 552  goto L18
 555  ---
 555  L35:
 555  goto L36
 558  ---
 558  L33:
 558  goto_if_exception_mismatch $<* struct object_vtable>, L38
 562  last_exception -> %i3
 564  last_exc_value -> %r3
 566  getfield_gc_r %r3, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type> -> %r2
 571  inline_call_r_i <JitCode 'exception_match'>, R[%r2, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %i1
 578  -live- %i0, %i1, %i2, %r0, %r1, %r3
 578  -live- %i0, %i1, %i2, %r0, %r1, %r3
 578  goto_if_not %i1, L39
 582  -live- %i0, %i2, %r0, %r1
 582  goto_if_not_int_gt %i0, $0, L40
 587  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x7fff4a098b90> -> %r3
 591  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 596  setfield_gc_r %r3, $<* struct tuple2>, FieldDescr<pypy.interpreter.error.OpErrFmt.inst_xstrings>
 601  setfield_gc_r %r3, %r1, FieldDescr<pypy.interpreter.error.OpErrFmt.inst_x0>
 606  assert_not_none %r3
 608  -live- %r3
 608  guard_class %r3 -> %i3
 611  -live- %r3
 611  raise %r3
 613  ---
 613  L40:
 613  new_array_clear $3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7fff47644aa0> -> %r3
 618  setarrayitem_gc_r %r3, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7fff47644aa0>
 624  -live- %i2, %r0, %r1, %r3
 624  goto_if_not_ptr_nonzero %r1, L41
 628  ref_copy %r1 -> %r2
 631  L42:
 631  setarrayitem_gc_r %r3, $1, %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7fff47644aa0>
 637  setarrayitem_gc_r %r3, $2, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7fff47644aa0>
 643  ref_isvirtual %r3 -> %i1
 646  -live- %i1, %i2, %r0, %r1, %r3
 646  goto_if_not %i1, L43
 650  inline_call_ir_r <JitCode 'll_join_strs__v1089___simple_call__function_'>, I[$3], R[%r3] -> %r3
 658  -live- %i2, %r0, %r1, %r3
 658  L44:
 658  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x7fff481d5aa0> -> %r2
 662  setfield_gc_r %r2, %r3, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 667  inline_call_ir_v <JitCode 'warn'>, I[$2], R[%r2, $<* struct pypy.objspace.std.typeobject.W_TypeObject>]
 675  -live- %i2, %r0, %r1
 675  goto L34
 678  ---
 678  L43:
 678  int_isconstant $3 -> %i1
 681  -live- %i1, %i2, %r0, %r1, %r3
 681  goto_if_not %i1, L45
 685  L46:
 685  residual_call_ir_r $<* fn ll_join_strs_trampoline__v1094___simple_call__function_>, I[$3], R[%r3], <CallDescr(ir) EF=5> -> %r3
 694  -live- %i2, %r0, %r1, %r3
 694  goto L44
 697  ---
 697  L45:
 697  goto L46
 700  ---
 700  L41:
 700  ref_copy $<* struct rpy_string> -> %r2
 703  goto L42
 706  ---
 706  L39:
 706  -live- %r3
 706  raise %r3
 708  ---
 708  L38:
 708  reraise
 709  ---
 709  L27:
 709  goto L29
 712  ---
 712  L26:
 712  goto_if_exception_mismatch $<* struct object_vtable>, L47
 716  last_exception -> %i3
 718  last_exc_value -> %r3
 720  getfield_gc_r %r3, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type> -> %r2
 725  inline_call_r_i <JitCode 'exception_match'>, R[%r2, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %i1
 732  -live- %i1, %r3
 732  -live- %i1, %r3
 732  goto_if_not %i1, L48
 736  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x7fff4a07fb90> -> %r3
 740  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 745  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 750  assert_not_none %r3
 752  -live- %r3
 752  guard_class %r3 -> %i3
 755  -live- %r3
 755  raise %r3
 757  ---
 757  L48:
 757  -live- %r3
 757  raise %r3
 759  ---
 759  L47:
 759  reraise
