   0  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i2
   5  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r1
  10  strlen %r1 -> %i1
  13  -live- %i0, %i1, %i2, %r0
  16  goto_if_not_int_eq %i2, %i1, L1
  21  L2:
  21  -live- %i0, %r0
  24  goto_if_not_int_lt %i0, $0, L3
  29  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i2
  34  int_add %i0, %i2 -> %i0
  38  L4:
  38  -live- %i0, %r0
  41  goto_if_not_int_lt %i0, $0, L5
  46  L6:
  46  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000555ab11f9c90> -> %r1
  50  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
  55  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
  60  assert_not_none %r1
  62  -live- %r1
  65  raise %r1
  67  ---
  67  L5:
  67  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i2
  72  -live- %i0, %i2, %r0
  75  goto_if_not_int_ge %i0, %i2, L7
  80  goto L6
  83  ---
  83  L7:
  83  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r2
  88  strlen %r2 -> %i1
  91  -live- %i0, %i1, %i2, %r0, %r2
  94  goto_if_not_int_eq %i2, %i1, L8
  99  ref_copy %r0 -> %r3
 102  L9:
 102  getfield_gc_i_pure %r3, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i2
 107  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r1
 112  strlen %r1 -> %i1
 115  -live- %i0, %i1, %i2, %r1, %r3
 118  goto_if_not_int_eq %i2, %i1, L10
 123  int_add %i0, $1 -> %i1
 127  L11:
 127  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r1
 132  strlen %r1 -> %i2
 135  -live- %i0, %i1, %i2, %r1
 138  goto_if_not_int_gt %i1, %i2, L12
 143  strlen %r1 -> %i1
 146  L13:
 146  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[%i0, %i1], R[%r1], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r1
 156  -live- %r1
 159  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000555aaf9d4100> -> %r0
 163  setfield_gc_r %r0, %r1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8>
 168  setfield_gc_i %r0, $1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length>
 173  setfield_gc_r %r0, $<* None>, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__index_storage>
 178  ref_return %r0
 180  ---
 180  L12:
 180  goto L13
 183  ---
 183  L10:
 183  residual_call_ir_i $<* fn next_codepoint_pos_dont_look_inside>, I[%i0], R[%r1], <CallDescr(ri) EF=0> -> %i1
 192  goto L11
 195  ---
 195  L8:
 195  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__index_storage> -> %r1
 200  ref_copy %r0 -> %r3
 203  conditional_call_value_ir_r %r1, $<* fn W_UnicodeObject._compute_index_storage>, I[], R[%r0], <CallDescr(r) EF=5> -> %r1
 212  -live- %i0, %r1, %r2, %r3
 215  residual_call_ir_i $<* fn codepoint_position_at_index>, I[%i0], R[%r2, %r1], <CallDescr(rri) EF=4> -> %i0
 225  -live- %i0, %r3
 228  goto L9
 231  ---
 231  L3:
 231  goto L4
 234  ---
 234  L1:
 234  int_isconstant %i0 -> %i2
 237  -live- %i0, %i2, %r0
 240  goto_if_not %i2, L14
 244  -live- %i0, %r0
 247  goto_if_not_int_ge %i0, $-4, L15
 252  -live- %i0, %r0
 255  goto_if_not_int_le %i0, $4, L16
 260  inline_call_ir_r <JitCode 'W_UnicodeObject._getitem_result_constant_index_jit'>, I[%i0], R[%r0] -> %r0
 268  -live- %r0
 271  ref_return %r0
 273  ---
 273  L16:
 273  goto L2
 276  ---
 276  L15:
 276  goto L2
 279  ---
 279  L14:
 279  goto L2
