   0  inline_call_r_r <JitCode 'convert_arg_to_w_unicode'>, R[%r1, $<* struct rpy_string>] -> %r1
   7  -live- %r0, %r1, %r2, %r3
  10  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i0
  15  inline_call_ir_r <JitCode 'unwrap_start_stop'>, I[%i0], R[%r2, %r3] -> %r2
  24  -live- %r0, %r1, %r2
  27  getfield_gc_i_pure %r2, FieldDescr<tuple2.item0> -> %i3
  32  getfield_gc_i_pure %r2, FieldDescr<tuple2.item1> -> %i2
  37  -live- %i2, %i3, %r0, %r1
  40  goto_if_not_int_is_zero %i3, L1
  44  int_copy $0 -> %i3
  47  ref_copy %r0 -> %r4
  50  L2:
  50  getfield_gc_i_pure %r4, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i0
  55  -live- %i0, %i2, %i3, %r1, %r4
  58  goto_if_not_int_ge %i2, %i0, L3
  63  ref_copy %r4 -> %r0
  66  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r2
  71  strlen %r2 -> %i2
  74  L4:
  74  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r2
  79  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r1
  84  inline_call_ir_i <JitCode 'll_rfind__rpy_stringPtr_rpy_stringPtr_Signed_Signed'>, I[%i3, %i2], R[%r2, %r1] -> %i0
  94  -live- %i0, %r0
  97  goto_if_not_int_lt %i0, $0, L5
 102  L6:
 102  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab01c05398> -> %r1
 106  setfield_gc_i %r1, $-1, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 111  ref_return %r1
 113  ---
 113  L5:
 113  inline_call_ir_i <JitCode 'W_UnicodeObject._byte_to_index'>, I[%i0], R[%r0] -> %i0
 121  -live- %i0
 124  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab01c05398> -> %r1
 128  setfield_gc_i %r1, %i0, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 133  -live- %r1
 136  goto_if_not_ptr_iszero %r1, L7
 140  goto L6
 143  ---
 143  L7:
 143  ref_return %r1
 145  ---
 145  L3:
 145  getfield_gc_r_pure %r4, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r3
 150  strlen %r3 -> %i1
 153  -live- %i0, %i1, %i2, %i3, %r1, %r3, %r4
 156  goto_if_not_int_eq %i0, %i1, L8
 161  ref_copy %r4 -> %r0
 164  goto L4
 167  ---
 167  L8:
 167  getfield_gc_r %r4, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__index_storage> -> %r2
 172  ref_copy %r4 -> %r0
 175  conditional_call_value_ir_r %r2, $<* fn W_UnicodeObject._compute_index_storage>, I[], R[%r4], <CallDescr(r) EF=5> -> %r2
 184  -live- %i2, %i3, %r0, %r1, %r2, %r3
 187  residual_call_ir_i $<* fn codepoint_position_at_index>, I[%i2], R[%r3, %r2], <CallDescr(rri) EF=4> -> %i2
 197  -live- %i2, %i3, %r0, %r1
 200  goto L4
 203  ---
 203  L1:
 203  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i0
 208  -live- %i0, %i2, %i3, %r0, %r1
 211  goto_if_not_int_gt %i3, %i0, L9
 216  goto L6
 219  ---
 219  L9:
 219  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r3
 224  strlen %r3 -> %i1
 227  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r3
 230  goto_if_not_int_eq %i0, %i1, L10
 235  ref_copy %r0 -> %r4
 238  goto L2
 241  ---
 241  L10:
 241  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__index_storage> -> %r2
 246  ref_copy %r0 -> %r4
 249  conditional_call_value_ir_r %r2, $<* fn W_UnicodeObject._compute_index_storage>, I[], R[%r0], <CallDescr(r) EF=5> -> %r2
 258  -live- %i2, %i3, %r1, %r2, %r3, %r4
 261  residual_call_ir_i $<* fn codepoint_position_at_index>, I[%i3], R[%r3, %r2], <CallDescr(rri) EF=4> -> %i3
 271  -live- %i2, %i3, %r1, %r4
 274  goto L2
