   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 0x43a05710> -> %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  -live- %r3
 106  raise %r3
 108  ---
 108  L11:
 108  int_copy $0 -> %i0
 111  ref_copy $<* struct rpy_string> -> %r3
 114  L12:
 114  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
 114  goto_if_not_ptr_iszero %r5, L13
 118  strlen %r2 -> %i1
 121  residual_call_ir_i $<* fn ll_rfind_char__rpy_stringPtr_Char_Signed_Signed>, I[$'.', $0, %i1], R[%r2], <CallDescr(riii) EF=0> -> %i2
 132  -live- %i0, %i2, %r0, %r1, %r2, %r3
 132  goto_if_not_int_lt %i2, $0, L14
 137  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x443353f0> -> %r2
 141  setfield_gc_r %r2, $<* struct rpy_string>, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 146  inline_call_r_r <JitCode 'setitem'>, R[%r1, %r2, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %r2
 154  -live- %i0, %r0, %r3
 154  L15:
 154  strlen %r0 -> %i1
 157  -live- %i0, %i1, %r0, %r3
 157  goto_if_not_int_is_true %i1, L16
 161  ref_copy %r3 -> %r2
 164  ref_copy %r0 -> %r3
 167  strlen %r2 -> %i1
 170  -live- %i0, %i1, %r2, %r3
 170  goto_if_not_int_is_true %i1, L17
 174  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[$<* struct rpy_string>, %r3], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r1
 182  -live- %i0, %r1, %r2
 182  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r2, %r1], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r3
 190  -live- %i0, %r3
 190  L18:
 190  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x26b438b0> -> %r2
 194  setfield_gc_r %r2, %r3, FieldDescr<tuple2.item0>
 199  setfield_gc_i %r2, %i0, FieldDescr<tuple2.item1>
 204  ref_return %r2
 206  ---
 206  L17:
 206  goto L18
 209  ---
 209  L16:
 209  goto L18
 212  ---
 212  L14:
 212  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x443353f0> -> %r4
 216  setfield_gc_r %r4, $<* struct rpy_string>, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 221  strlen %r2 -> %i1
 224  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4
 224  goto_if_not_int_gt %i2, %i1, L19
 229  strlen %r2 -> %i2
 232  L20:
 232  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[$0, %i2], R[%r2], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r2
 242  -live- %i0, %r0, %r1, %r2, %r3, %r4
 242  -live- %i0, %r0, %r1, %r2, %r3, %r4
 242  goto_if_not_ptr_iszero %r2, L21
 246  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r5
 249  L22:
 249  inline_call_r_r <JitCode 'setitem'>, R[%r1, %r4, %r5] -> %r2
 257  -live- %i0, %r0, %r3
 257  goto L15
 260  ---
 260  L21:
 260  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x443353f0> -> %r5
 264  setfield_gc_r %r5, %r2, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 269  goto L22
 272  ---
 272  L19:
 272  goto L20
 275  ---
 275  L13:
 275  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x443353f0> -> %r2
 279  setfield_gc_r %r2, $<* struct rpy_string>, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 284  inline_call_r_r <JitCode 'setitem'>, R[%r1, %r2, %r4] -> %r2
 292  -live- %i0, %r0, %r3
 292  goto L15
 295  ---
 295  L10:
 295  strlen %r2 -> %i0
 298  -live- %i0, %i1, %r0, %r1, %r2, %r4, %r5
 298  goto_if_not_int_gt %i1, %i0, L23
 303  strlen %r2 -> %i1
 306  L24:
 306  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[$0, %i1], R[%r2], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r3
 316  -live- %r0, %r1, %r2, %r3, %r4, %r5
 316  strlen %r3 -> %i1
 319  residual_call_ir_i $<* fn ll_count_char__rpy_stringPtr_Char_Signed_Signed>, I[$'.', $0, %i1], R[%r3], <CallDescr(riii) EF=0> -> %i1
 330  int_add %i1, $1 -> %i0
 334  goto L12
 337  ---
 337  L23:
 337  goto L24
 340  ---
 340  L8:
 340  goto L9
 343  ---
 343  L6:
 343  int_copy $0 -> %i1
 346  goto L7
 349  ---
 349  L5:
 349  ref_return $<* struct tuple2>
 351  ---
 351  L4:
 351  goto_if_exception_mismatch $<* struct object_vtable>, L25
 355  last_exception -> %i3
 357  last_exc_value -> %r3
 359  getfield_gc_r %r3, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type> -> %r2
 364  inline_call_r_i <JitCode 'exception_match'>, R[%r2, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %i1
 371  -live- %i1, %r3
 371  -live- %i1, %r3
 371  goto_if_not %i1, L26
 375  ref_return $<* struct tuple2>
 377  ---
 377  L26:
 377  -live- %r3
 377  raise %r3
 379  ---
 379  L25:
 379  reraise
 380  ---
 380  L1:
 380  instance_ptr_eq %r2, $<* struct pypy.interpreter.baseobjspace.W_Root> -> %i1
 384  -live- %i0, %i1, %r0, %r1, %r2
 384  goto_if_not %i1, L27
 388  goto L2
 391  ---
 391  L27:
 391  inline_call_r_r <JitCode 'ObjSpace.str0_w'>, R[%r2] -> %r1
 397  -live- %i0, %r0, %r1
 397  catch_exception L28
 400  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r1, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i1
 408  -live- %i0, %i1, %r0, %r1
 408  goto_if_not %i1, L29
 412  -live- %i0, %r0, %r1
 412  goto_if_not_int_lt %i0, $0, L30
 417  ref_return $<* struct tuple2>
 419  ---
 419  L30:
 419  L31:
 419  int_sub %i0, $1 -> %i1
 423  residual_call_ir_i $<* fn _get_dot_position>, I[%i1], R[%r1], <CallDescr(ri) EF=0> -> %i2
 432  -live- %i0, %i2, %r0, %r1
 432  goto_if_not_int_lt %i2, $0, L32
 437  strlen %r1 -> %i1
 440  -live- %i1
 440  goto_if_not_int_is_zero %i1, L33
 444  ref_copy $<* struct rpy_string> -> %r2
 447  L34:
 447  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x1a1906f0> -> %r3
 451  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 456  setfield_gc_r %r3, $<* struct tuple2>, FieldDescr<pypy.interpreter.error.OpErrFmt.inst_xstrings>
 461  setfield_gc_r %r3, %r2, FieldDescr<pypy.interpreter.error.OpErrFmt.inst_x0>
 466  -live- %r3
 466  raise %r3
 468  ---
 468  L33:
 468  ref_copy $<* struct rpy_string> -> %r2
 471  goto L34
 474  ---
 474  L32:
 474  inline_call_ir_r <JitCode 'absolute_import'>, I[$0, $0], R[%r1, $<* None>] -> %r2
 484  -live- %i0, %i2, %r0, %r1
 484  catch_exception L35
 487  L36:
 487  strlen %r1 -> %i1
 490  -live- %i1, %i2, %r0, %r1
 490  goto_if_not_int_gt %i2, %i1, L37
 495  strlen %r1 -> %i2
 498  L38:
 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, L39
 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  L39:
 552  goto L18
 555  ---
 555  L37:
 555  goto L38
 558  ---
 558  L35:
 558  goto_if_exception_mismatch $<* struct object_vtable>, L40
 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, L41
 582  -live- %i0, %i2, %r0, %r1
 582  goto_if_not_int_gt %i0, $0, L42
 587  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x1a1906f0> -> %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  -live- %r3
 606  raise %r3
 608  ---
 608  L42:
 608  new_array_clear $3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x4aa1a670> -> %r3
 613  setarrayitem_gc_r %r3, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x4aa1a670>
 619  -live- %i2, %r0, %r1, %r3
 619  goto_if_not_ptr_nonzero %r1, L43
 623  ref_copy %r1 -> %r2
 626  L44:
 626  setarrayitem_gc_r %r3, $1, %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x4aa1a670>
 632  setarrayitem_gc_r %r3, $2, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x4aa1a670>
 638  ref_isvirtual %r3 -> %i1
 641  -live- %i1, %i2, %r0, %r1, %r3
 641  goto_if_not %i1, L45
 645  inline_call_ir_r <JitCode 'll_join_strs__v1093___simple_call__function_'>, I[$3], R[%r3] -> %r3
 653  -live- %i2, %r0, %r1, %r3
 653  L46:
 653  -live- %i2, %r0, %r1, %r3
 653  goto_if_not_ptr_iszero %r3, L47
 657  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r2
 660  L48:
 660  inline_call_ir_v <JitCode 'ObjSpace.warn'>, I[$2], R[%r2, $<* struct pypy.objspace.std.typeobject.W_TypeObject>]
 668  -live- %i2, %r0, %r1
 668  goto L36
 671  ---
 671  L47:
 671  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x443353f0> -> %r2
 675  setfield_gc_r %r2, %r3, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 680  goto L48
 683  ---
 683  L45:
 683  int_isconstant $3 -> %i1
 686  -live- %i1, %i2, %r0, %r1, %r3
 686  goto_if_not %i1, L49
 690  L50:
 690  residual_call_ir_r $<* fn ll_join_strs_trampoline__v1089___simple_call__function_>, I[$3], R[%r3], <CallDescr(ir) EF=5> -> %r3
 699  -live- %i2, %r0, %r1, %r3
 699  goto L46
 702  ---
 702  L49:
 702  goto L50
 705  ---
 705  L43:
 705  ref_copy $<* struct rpy_string> -> %r2
 708  goto L44
 711  ---
 711  L41:
 711  -live- %r3
 711  raise %r3
 713  ---
 713  L40:
 713  reraise
 714  ---
 714  L29:
 714  goto L31
 717  ---
 717  L28:
 717  goto_if_exception_mismatch $<* struct object_vtable>, L51
 721  last_exception -> %i3
 723  last_exc_value -> %r3
 725  getfield_gc_r %r3, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type> -> %r2
 730  inline_call_r_i <JitCode 'exception_match'>, R[%r2, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %i1
 737  -live- %i1, %r3
 737  -live- %i1, %r3
 737  goto_if_not %i1, L52
 741  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x43a05710> -> %r3
 745  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 750  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 755  -live- %r3
 755  raise %r3
 757  ---
 757  L52:
 757  -live- %r3
 757  raise %r3
 759  ---
 759  L51:
 759  reraise
