   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 0x0000563a60ed2100> -> %r1
 106  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 111  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 116  assert_not_none %r1
 118  -live- %r1
 121  raise %r1
 123  ---
 123  L5:
 123  inline_call_ir_i <JitCode 'W_UnicodeObject._byte_to_index'>, I[%i0], R[%r0] -> %i0
 131  -live- %i0
 134  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000563a76e65440> -> %r1
 138  setfield_gc_i %r1, %i0, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 143  -live- %r1
 146  goto_if_not_ptr_iszero %r1, L7
 150  goto L6
 153  ---
 153  L7:
 153  ref_return %r1
 155  ---
 155  L3:
 155  getfield_gc_r_pure %r4, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r3
 160  strlen %r3 -> %i1
 163  -live- %i0, %i1, %i2, %i3, %r1, %r3, %r4
 166  goto_if_not_int_eq %i0, %i1, L8
 171  ref_copy %r4 -> %r0
 174  goto L4
 177  ---
 177  L8:
 177  getfield_gc_r %r4, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__index_storage> -> %r2
 182  ref_copy %r4 -> %r0
 185  conditional_call_value_ir_r %r2, $<* fn W_UnicodeObject._compute_index_storage>, I[], R[%r4], <CallDescr(r) EF=5> -> %r2
 194  -live- %i2, %i3, %r0, %r1, %r2, %r3
 197  residual_call_ir_i $<* fn codepoint_position_at_index>, I[%i2], R[%r3, %r2], <CallDescr(rri) EF=4> -> %i2
 207  -live- %i2, %i3, %r0, %r1
 210  goto L4
 213  ---
 213  L1:
 213  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i0
 218  -live- %i0, %i2, %i3, %r0, %r1
 221  goto_if_not_int_gt %i3, %i0, L9
 226  goto L6
 229  ---
 229  L9:
 229  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r3
 234  strlen %r3 -> %i1
 237  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r3
 240  goto_if_not_int_eq %i0, %i1, L10
 245  ref_copy %r0 -> %r4
 248  goto L2
 251  ---
 251  L10:
 251  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__index_storage> -> %r2
 256  ref_copy %r0 -> %r4
 259  conditional_call_value_ir_r %r2, $<* fn W_UnicodeObject._compute_index_storage>, I[], R[%r0], <CallDescr(r) EF=5> -> %r2
 268  -live- %i2, %i3, %r1, %r2, %r3, %r4
 271  residual_call_ir_i $<* fn codepoint_position_at_index>, I[%i3], R[%r3, %r2], <CallDescr(rri) EF=4> -> %i3
 281  -live- %i2, %i3, %r1, %r4
 284  goto L2
