   0  inline_call_r_r <JitCode 'finditem_str'>, R[%r1, $<* struct rpy_string>] -> %r2
   7  -live- %i0, %r0, %r1, %r2
  10  ref_guard_value %r2
  12  -live- %i0, %r0, %r1, %r2
  15  int_guard_value %i0
  17  -live- %i0, %r0, %r1, %r2
  20  goto_if_not_ptr_iszero %r2, L1
  24  L2:
  24  inline_call_r_r <JitCode 'finditem_str'>, R[%r1, $<* struct rpy_string>] -> %r3
  31  -live- %i0, %r0, %r1, %r3
  34  inline_call_r_r <JitCode 'finditem_str'>, R[%r1, $<* struct rpy_string>] -> %r5
  41  -live- %i0, %r0, %r1, %r3, %r5
  44  ref_guard_value %r3
  46  -live- %i0, %r0, %r1, %r3, %r5
  49  goto_if_not_ptr_iszero %r3, L3
  53  ref_return $<* struct tuple2>
  55  ---
  55  L3:
  55  inline_call_r_r <JitCode 'ObjSpace.text0_w'>, R[%r3] -> %r2
  61  -live- %i0, %r0, %r1, %r2, %r3, %r5
  64  catch_exception L4
  67  strlen %r2 -> %i1
  70  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r5
  73  goto_if_not_int_is_true %i1, L5
  77  int_sub %i0, $1 -> %i1
  81  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r5
  84  goto_if_not_int_gt %i1, $0, L6
  89  L7:
  89  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r5
  92  goto_if_not_ptr_iszero %r5, L8
  96  int_add %i1, $1 -> %i1
 100  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r5
 103  L9:
 103  residual_call_ir_i $<* fn _get_dot_position>, I[%i1], R[%r2], <CallDescr(ri) EF=0> -> %i1
 112  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r5
 115  goto_if_not_int_lt %i1, $0, L10
 120  -live- %i0, %r0, %r1, %r2, %r3, %r5
 123  goto_if_not_int_gt %i0, $0, L11
 128  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab00389e50> -> %r3
 132  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 137  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 142  assert_not_none %r3
 144  -live- %r3
 147  raise %r3
 149  ---
 149  L11:
 149  int_copy $0 -> %i0
 152  ref_copy $<* struct rpy_string> -> %r4
 155  L12:
 155  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
 158  goto_if_not_ptr_iszero %r5, L13
 162  strlen %r2 -> %i1
 165  residual_call_ir_i $<* fn ll_rfind_char__rpy_stringPtr_Char_Signed_Signed>, I[$'.', $0, %i1], R[%r2], <CallDescr(riii) EF=0> -> %i2
 176  -live- %i0, %i2, %r0, %r1, %r2, %r4
 179  goto_if_not_int_lt %i2, $0, L14
 184  -live- %i0, %r0, %r1, %r4
 187  guard_class %r1 -> %i1
 190  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_shortcut___setitem__> -> %i1
 195  -live- %i0, %i1, %r0, %r1, %r4
 198  int_guard_value %i1
 200  residual_call_r_r %i1, <IndirectCallTargets>, R[%r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, $<* struct pypy.interpreter.baseobjspace.W_Root>], <CallDescr(rrr) EF=7> -> %r2
 209  L15:
 209  -live- %i0, %r0, %r4
 212  strlen %r0 -> %i1
 215  -live- %i0, %i1, %r0, %r4
 218  goto_if_not_int_is_true %i1, L16
 222  ref_copy %r4 -> %r2
 225  ref_copy %r0 -> %r4
 228  strlen %r2 -> %i1
 231  -live- %i0, %i1, %r2, %r4
 234  goto_if_not_int_is_true %i1, L17
 238  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[$<* struct rpy_string>, %r4], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r1
 246  -live- %i0, %r1, %r2
 249  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r2, %r1], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r4
 257  L18:
 257  -live- %i0, %r4
 260  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab12b2b408> -> %r2
 264  setfield_gc_r %r2, %r4, FieldDescr<tuple2.item0>
 269  setfield_gc_i %r2, %i0, FieldDescr<tuple2.item1>
 274  ref_return %r2
 276  ---
 276  L17:
 276  goto L18
 279  ---
 279  L16:
 279  goto L18
 282  ---
 282  L14:
 282  strlen %r2 -> %i1
 285  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r4
 288  goto_if_not_int_gt %i2, %i1, L19
 293  strlen %r2 -> %i2
 296  L20:
 296  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[$0, %i2], R[%r2], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r2
 306  -live- %i0, %r0, %r1, %r2, %r4
 309  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab035b6720> -> %r3
 313  setfield_gc_r %r3, %r2, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 318  -live- %i0, %r0, %r1, %r3, %r4
 321  guard_class %r1 -> %i1
 324  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_shortcut___setitem__> -> %i1
 329  -live- %i0, %i1, %r0, %r1, %r3, %r4
 332  int_guard_value %i1
 334  residual_call_r_r %i1, <IndirectCallTargets>, R[%r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, %r3], <CallDescr(rrr) EF=7> -> %r2
 343  -live- %i0, %r0, %r4
 346  goto L15
 349  ---
 349  L19:
 349  goto L20
 352  ---
 352  L13:
 352  -live- %i0, %r0, %r1, %r3, %r4
 355  guard_class %r1 -> %i1
 358  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_shortcut___setitem__> -> %i1
 363  -live- %i0, %i1, %r0, %r1, %r3, %r4
 366  int_guard_value %i1
 368  residual_call_r_r %i1, <IndirectCallTargets>, R[%r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, %r3], <CallDescr(rrr) EF=7> -> %r2
 377  -live- %i0, %r0, %r4
 380  goto L15
 383  ---
 383  L10:
 383  strlen %r2 -> %i0
 386  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r5
 389  goto_if_not_int_gt %i1, %i0, L21
 394  strlen %r2 -> %i1
 397  L22:
 397  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[$0, %i1], R[%r2], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r4
 407  -live- %r0, %r1, %r2, %r3, %r4, %r5
 410  strlen %r4 -> %i1
 413  residual_call_ir_i $<* fn ll_count_char__rpy_stringPtr_Char_Signed_Signed>, I[$'.', $0, %i1], R[%r4], <CallDescr(riii) EF=0> -> %i1
 424  int_add %i1, $1 -> %i0
 428  goto L12
 431  ---
 431  L21:
 431  goto L22
 434  ---
 434  L8:
 434  goto L9
 437  ---
 437  L6:
 437  int_copy $0 -> %i1
 440  goto L7
 443  ---
 443  L5:
 443  ref_return $<* struct tuple2>
 445  ---
 445  L4:
 445  goto_if_exception_mismatch $<* struct object_vtable>, L23
 449  last_exception -> %i3
 451  last_exc_value -> %r3
 453  getfield_gc_r %r3, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type> -> %r2
 458  inline_call_r_i <JitCode 'exception_match'>, R[%r2, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %i1
 465  -live- %i1, %r3
 468  goto_if_not %i1, L24
 472  ref_return $<* struct tuple2>
 474  ---
 474  L24:
 474  -live- %r3
 477  raise %r3
 479  ---
 479  L23:
 479  reraise
 480  ---
 480  L1:
 480  instance_ptr_eq %r2, $<* struct pypy.interpreter.baseobjspace.W_Root> -> %i1
 484  -live- %i0, %i1, %r0, %r1, %r2
 487  goto_if_not %i1, L25
 491  goto L2
 494  ---
 494  L25:
 494  inline_call_r_r <JitCode 'ObjSpace.text0_w'>, R[%r2] -> %r1
 500  -live- %i0, %r0, %r1
 503  catch_exception L26
 506  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r1, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i1
 514  -live- %i0, %i1, %r0, %r1
 517  goto_if_not %i1, L27
 521  -live- %i0, %r0, %r1
 524  goto_if_not_int_lt %i0, $0, L28
 529  ref_return $<* struct tuple2>
 531  ---
 531  L28:
 531  L29:
 531  int_sub %i0, $1 -> %i1
 535  residual_call_ir_i $<* fn _get_dot_position>, I[%i1], R[%r1], <CallDescr(ri) EF=0> -> %i2
 544  -live- %i0, %i2, %r0, %r1
 547  goto_if_not_int_lt %i2, $0, L30
 552  strlen %r1 -> %i1
 555  -live- %i1
 558  goto_if_not_int_is_zero %i1, L31
 562  ref_copy $<* struct rpy_string> -> %r2
 565  L32:
 565  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab168c2020> -> %r3
 569  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 574  setfield_gc_r %r3, $<* struct tuple2>, FieldDescr<pypy.interpreter.error.OpErrFmt.inst_xstrings>
 579  setfield_gc_r %r3, %r2, FieldDescr<pypy.interpreter.error.OpErrFmt.inst_x0>
 584  assert_not_none %r3
 586  -live- %r3
 589  raise %r3
 591  ---
 591  L31:
 591  ref_copy $<* struct rpy_string> -> %r2
 594  goto L32
 597  ---
 597  L30:
 597  inline_call_ir_r <JitCode 'absolute_import'>, I[$0, $0], R[%r1, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %r2
 607  -live- %i0, %i2, %r0, %r1
 610  catch_exception L33
 613  L34:
 613  strlen %r1 -> %i1
 616  -live- %i1, %i2, %r0, %r1
 619  goto_if_not_int_gt %i2, %i1, L35
 624  strlen %r1 -> %i2
 627  L36:
 627  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[$0, %i2], R[%r1], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r4
 637  -live- %r0, %r4
 640  strlen %r4 -> %i1
 643  residual_call_ir_i $<* fn ll_count_char__rpy_stringPtr_Char_Signed_Signed>, I[$'.', $0, %i1], R[%r4], <CallDescr(riii) EF=0> -> %i1
 654  int_add %i1, $1 -> %i0
 658  strlen %r0 -> %i1
 661  -live- %i0, %i1, %r0, %r4
 664  goto_if_not_int_is_true %i1, L37
 668  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[$<* struct rpy_string>, %r0], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r2
 676  -live- %i0, %r2, %r4
 679  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r4, %r2], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r4
 687  -live- %i0, %r4
 690  goto L18
 693  ---
 693  L37:
 693  goto L18
 696  ---
 696  L35:
 696  goto L36
 699  ---
 699  L33:
 699  goto_if_exception_mismatch $<* struct object_vtable>, L38
 703  last_exception -> %i3
 705  last_exc_value -> %r3
 707  getfield_gc_r %r3, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type> -> %r2
 712  inline_call_r_i <JitCode 'exception_match'>, R[%r2, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %i1
 719  -live- %i0, %i1, %i2, %r0, %r1, %r3
 722  goto_if_not %i1, L39
 726  -live- %i0, %i2, %r0, %r1
 729  goto_if_not_int_gt %i0, $0, L40
 734  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab168c2020> -> %r3
 738  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 743  setfield_gc_r %r3, $<* struct tuple2>, FieldDescr<pypy.interpreter.error.OpErrFmt.inst_xstrings>
 748  setfield_gc_r %r3, %r1, FieldDescr<pypy.interpreter.error.OpErrFmt.inst_x0>
 753  assert_not_none %r3
 755  -live- %r3
 758  raise %r3
 760  ---
 760  L40:
 760  new_array_clear $3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaaafd4c50c0> -> %r2
 765  setarrayitem_gc_r %r2, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaaafd4c50c0>
 771  -live- %i2, %r0, %r1, %r2
 774  goto_if_not_ptr_nonzero %r1, L41
 778  ref_copy %r1 -> %r3
 781  L42:
 781  setarrayitem_gc_r %r2, $1, %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaaafd4c50c0>
 787  setarrayitem_gc_r %r2, $2, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaaafd4c50c0>
 793  inline_call_ir_r <JitCode 'll_join_strs_look_inside_iff__Signed_arrayPtr_Ptr_GcStruct_rpy_stringLlT'>, I[$3], R[%r2] -> %r2
 801  -live- %i2, %r0, %r1, %r2
 804  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab035b6720> -> %r3
 808  setfield_gc_r %r3, %r2, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 813  inline_call_ir_v <JitCode 'ObjSpace.warn'>, I[$2], R[%r3, $<* struct pypy.objspace.std.typeobject.W_TypeObject>]
 821  -live- %i2, %r0, %r1
 824  goto L34
 827  ---
 827  L41:
 827  ref_copy $<* struct rpy_string> -> %r3
 830  goto L42
 833  ---
 833  L39:
 833  -live- %r3
 836  raise %r3
 838  ---
 838  L38:
 838  reraise
 839  ---
 839  L27:
 839  goto L29
 842  ---
 842  L26:
 842  goto_if_exception_mismatch $<* struct object_vtable>, L43
 846  last_exception -> %i3
 848  last_exc_value -> %r3
 850  getfield_gc_r %r3, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type> -> %r2
 855  inline_call_r_i <JitCode 'exception_match'>, R[%r2, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %i1
 862  -live- %i1, %r3
 865  goto_if_not %i1, L44
 869  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab00389e50> -> %r3
 873  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 878  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 883  assert_not_none %r3
 885  -live- %r3
 888  raise %r3
 890  ---
 890  L44:
 890  -live- %r3
 893  raise %r3
 895  ---
 895  L43:
 895  reraise
