   0  inline_call_r_r <JitCode 'convert_arg_to_w_unicode'>, R[%r1, $<* struct rpy_string>] -> %r1
   7  -live- %r0, %r1, %r2, %r3
   7  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i0
  12  inline_call_ir_r <JitCode 'unwrap_start_stop'>, I[%i0], R[%r2, %r3] -> %r2
  21  -live- %r0, %r1, %r2
  21  getfield_gc_i_pure %r2, FieldDescr<tuple2.item0> -> %i3
  26  getfield_gc_i_pure %r2, FieldDescr<tuple2.item1> -> %i2
  31  -live- %i2, %i3, %r0, %r1
  31  goto_if_not_int_is_zero %i3, L1
  35  int_copy $0 -> %i3
  38  ref_copy %r0 -> %r4
  41  L2:
  41  getfield_gc_i %r4, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i0
  46  -live- %i0, %i2, %i3, %r1, %r4
  46  goto_if_not_int_ge %i2, %i0, L3
  51  ref_copy %r4 -> %r0
  54  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r2
  59  strlen %r2 -> %i2
  62  L4:
  62  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r2
  67  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r1
  72  inline_call_ir_i <JitCode 'll_rfind__rpy_stringPtr_rpy_stringPtr_Signed_Signed'>, I[%i3, %i2], R[%r2, %r1] -> %i0
  82  -live- %i0, %r0
  82  -live- %i0, %r0
  82  goto_if_not_int_lt %i0, $0, L5
  87  L6:
  87  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aac55491a0> -> %r1
  91  setfield_gc_i %r1, $-1, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
  96  ref_return %r1
  98  ---
  98  L5:
  98  inline_call_ir_i <JitCode 'W_UnicodeObject._byte_to_index'>, I[%i0], R[%r0] -> %i0
 106  -live- %i0
 106  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aac55491a0> -> %r1
 110  setfield_gc_i %r1, %i0, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 115  -live- %r1
 115  goto_if_not_ptr_iszero %r1, L7
 119  goto L6
 122  ---
 122  L7:
 122  ref_return %r1
 124  ---
 124  L3:
 124  getfield_gc_r_pure %r4, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r3
 129  strlen %r3 -> %i1
 132  -live- %i0, %i1, %i2, %i3, %r1, %r3, %r4
 132  goto_if_not_int_eq %i0, %i1, L8
 137  ref_copy %r4 -> %r0
 140  goto L4
 143  ---
 143  L8:
 143  getfield_gc_r %r4, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__index_storage> -> %r2
 148  ref_copy %r4 -> %r0
 151  conditional_call_value_ir_r %r2, $<* fn W_UnicodeObject._compute_index_storage>, I[], R[%r4], <CallDescr(r) EF=5> -> %r2
 160  -live- %i2, %i3, %r0, %r1, %r2, %r3
 160  residual_call_ir_i $<* fn codepoint_position_at_index>, I[%i2], R[%r3, %r2], <CallDescr(rri) EF=4> -> %i2
 170  -live- %i2, %i3, %r0, %r1
 170  goto L4
 173  ---
 173  L1:
 173  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i0
 178  -live- %i0, %i2, %i3, %r0, %r1
 178  goto_if_not_int_gt %i3, %i0, L9
 183  goto L6
 186  ---
 186  L9:
 186  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r3
 191  strlen %r3 -> %i1
 194  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r3
 194  goto_if_not_int_eq %i0, %i1, L10
 199  ref_copy %r0 -> %r4
 202  goto L2
 205  ---
 205  L10:
 205  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__index_storage> -> %r2
 210  ref_copy %r0 -> %r4
 213  conditional_call_value_ir_r %r2, $<* fn W_UnicodeObject._compute_index_storage>, I[], R[%r0], <CallDescr(r) EF=5> -> %r2
 222  -live- %i2, %i3, %r1, %r2, %r3, %r4
 222  residual_call_ir_i $<* fn codepoint_position_at_index>, I[%i3], R[%r3, %r2], <CallDescr(rri) EF=4> -> %i3
 232  -live- %i2, %i3, %r1, %r4
 232  goto L2
