   0  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_state> -> %i0
   5  -live- %i0, %r0, %r1
   8  goto_if_not_int_eq %i0, $3, L1
  13  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000563a60ed4a30> -> %r1
  17  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
  22  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst__w_value>
  27  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst__application_traceback>
  32  assert_not_none %r1
  34  -live- %r1
  37  raise %r1
  39  ---
  39  L1:
  39  inline_call_r_i <JitCode 'convert_size'>, R[%r1] -> %i1
  45  -live- %i1, %r0
  48  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_pos> -> %i2
  53  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_state> -> %i0
  58  -live- %i0, %i1, %i2, %r0
  61  switch %i0, <SwitchDictDescr 0:L2, 1:L3>
  65  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_buf> -> %r1
  70  getfield_gc_r %r1, FieldDescr<pypy.module._io.interp_stringio.UnicodeIO.inst_data> -> %r1
  75  getfield_gc_i %r1, FieldDescr<list.length> -> %i0
  80  L4:
  80  -live- %i0, %i1, %i2, %r0
  83  goto_if_not_int_ge %i2, %i0, L5
  88  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
  90  ---
  90  L5:
  90  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_state> -> %i0
  95  -live- %i0, %i1, %r0
  98  goto_if_not_int_eq %i0, $1, L6
 103  inline_call_r_v <JitCode 'W_StringIO._realize'>, R[%r0]
 108  L7:
 108  -live- %i1, %r0
 111  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_state> -> %i0
 116  -live- %i0, %i1, %r0
 119  goto_if_not_int_is_zero %i0, L8
 123  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_w_value> -> %r1
 128  getfield_gc_i_pure %r1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i2
 133  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_pos> -> %i3
 138  int_sub %i2, %i3 -> %i0
 142  -live- %i0, %i1, %i2, %i3, %r0
 145  goto_if_not_int_ge %i1, $0, L9
 150  -live- %i0, %i1, %i2, %i3, %r0
 153  goto_if_not_int_le %i1, %i0, L10
 158  int_copy %i2 -> %i0
 161  int_add %i3, %i1 -> %i2
 165  L11:
 165  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_pos> -> %i1
 170  -live- %i0, %i1, %i2, %r0
 173  goto_if_not_int_gt %i1, %i2, L12
 178  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000563a710fb980> -> %r1
 182  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8>
 187  setfield_gc_i %r1, $0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length>
 192  setfield_gc_r %r1, $<* None>, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__index_storage>
 197  ref_return %r1
 199  ---
 199  L12:
 199  -live- %i0, %i1, %i2, %r0
 202  goto_if_not_int_is_zero %i1, L13
 206  -live- %i0, %i2, %r0
 209  goto_if_not_int_eq %i2, %i0, L14
 214  setfield_gc_i %r0, %i2, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_pos>
 219  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_w_value> -> %r1
 224  ref_return %r1
 226  ---
 226  L14:
 226  L15:
 226  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_w_value> -> %r1
 231  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_pos> -> %i0
 236  inline_call_ir_r <JitCode 'W_UnicodeObject._unicode_sliced'>, I[%i0, %i2], R[%r1] -> %r1
 245  -live- %i2, %r0, %r1
 248  setfield_gc_i %r0, %i2, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_pos>
 253  ref_return %r1
 255  ---
 255  L13:
 255  goto L15
 258  ---
 258  L10:
 258  int_copy %i2 -> %i0
 261  goto L11
 264  ---
 264  L9:
 264  int_copy %i2 -> %i0
 267  goto L11
 270  ---
 270  L8:
 270  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_buf> -> %r2
 275  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_pos> -> %i2
 280  getfield_gc_r %r2, FieldDescr<pypy.module._io.interp_stringio.UnicodeIO.inst_data> -> %r1
 285  getfield_gc_i %r1, FieldDescr<list.length> -> %i3
 290  int_sub %i3, %i2 -> %i0
 294  -live- %i0, %i1, %i2, %i3, %r0, %r2
 297  goto_if_not_int_ge %i1, $0, L16
 302  -live- %i0, %i1, %i2, %i3, %r0, %r2
 305  goto_if_not_int_le %i1, %i0, L17
 310  int_add %i2, %i1 -> %i3
 314  L18:
 314  residual_call_ir_r $<* fn UnicodeIO.getdata_slice>, I[%i2, %i3], R[%r2], <CallDescr(rii) EF=5> -> %r1
 324  -live- %r0, %r1
 327  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_pos> -> %i0
 332  getfield_gc_i %r1, FieldDescr<rpython.rlib.rutf8.Utf8StringBuilder.inst__lgt> -> %i1
 337  int_add %i0, %i1 -> %i0
 341  setfield_gc_i %r0, %i0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_pos>
 346  inline_call_r_r <JitCode 'from_utf8builder'>, R[%r1] -> %r1
 352  -live- %r1
 355  ref_return %r1
 357  ---
 357  L17:
 357  goto L18
 360  ---
 360  L16:
 360  goto L18
 363  ---
 363  L6:
 363  goto L7
 366  ---
 366  L2:
 366  -live- %i1, %i2, %r0
 369  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_w_value> -> %r1
 374  getfield_gc_i_pure %r1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i0
 379  goto L4
 382  ---
 382  L3:
 382  -live- %i1, %i2, %r0
 385  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_builder> -> %r1
 390  getfield_gc_i %r1, FieldDescr<rpython.rlib.rutf8.Utf8StringBuilder.inst__lgt> -> %i0
 395  goto L4
