   0  -live- %r0
   0  guard_class %r0 -> %i0
   3  getfield_raw_i %i0, FieldDescr<pypy.module.cStringIO.interp_stringio.W_InputOutputType_vtable.cls_is_closed> -> %i0
   8  -live- %i0, %r0
   8  switch %i0, <SwitchDictDescr 0:L1, 1:L2, 2:L3>
  12  unreachable
  13  ---
  13  L1:
  13  -live- %r0
  13  getfield_gc_i %r0, FieldDescr<pypy.module.cStringIO.interp_stringio.W_OutputType.inst__RStringIO__closed> -> %i0
  18  L4:
  18  -live- %i0, %r0
  18  goto_if_not %i0, L5
  22  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aabbb1b8a0> -> %r1
  26  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
  31  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
  36  assert_not_none %r1
  38  -live- %r1
  38  guard_class %r1 -> %i0
  41  -live- %r1
  41  raise %r1
  43  ---
  43  L5:
  43  -live- %r0
  43  guard_class %r0 -> %i0
  46  getfield_raw_i %i0, FieldDescr<pypy.module.cStringIO.interp_stringio.W_InputOutputType_vtable.cls_tell> -> %i0
  51  -live- %i0, %r0
  51  switch %i0, <SwitchDictDescr 0:L6, 1:L7, 2:L8>
  55  unreachable
  56  ---
  56  L6:
  56  -live- %r0
  56  getfield_gc_i %r0, FieldDescr<pypy.module.cStringIO.interp_stringio.W_OutputType.inst__RStringIO__pos> -> %i2
  61  -live- %i2, %r0
  61  goto_if_not_int_eq %i2, $-1, L9
  66  getfield_gc_r %r0, FieldDescr<pypy.module.cStringIO.interp_stringio.W_OutputType.inst__RStringIO__bigbuffer> -> %r1
  71  -live- %r0, %r1
  71  goto_if_not_ptr_iszero %r1, L10
  75  int_copy $0 -> %i2
  78  L11:
  78  getfield_gc_r %r0, FieldDescr<pypy.module.cStringIO.interp_stringio.W_OutputType.inst__RStringIO__strings> -> %r1
  83  -live- %i2, %r1
  83  goto_if_not_ptr_iszero %r1, L12
  87  L13:
  87  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aac55491a0> -> %r1
  91  setfield_gc_i %r1, %i2, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
  96  ref_return %r1
  98  ---
  98  L12:
  98  getfield_gc_i %r1, FieldDescr<stringbuilder.current_end> -> %i0
 103  getfield_gc_i %r1, FieldDescr<stringbuilder.current_pos> -> %i1
 108  int_sub %i0, %i1 -> %i0
 112  getfield_gc_i %r1, FieldDescr<stringbuilder.total_size> -> %i1
 117  int_sub %i1, %i0 -> %i0
 121  int_add %i2, %i0 -> %i2
 125  goto L13
 128  ---
 128  L10:
 128  getfield_gc_i %r1, FieldDescr<list.length> -> %i0
 133  int_add %i0, $0 -> %i2
 137  goto L11
 140  ---
 140  L9:
 140  goto L13
 143  ---
 143  L7:
 143  -live- %r0
 143  getfield_gc_i %r0, FieldDescr<pypy.module.cStringIO.interp_stringio.W_InputType.inst_pos> -> %i2
 148  goto L13
 151  ---
 151  L8:
 151  -live-
 151  raise $<* struct object>
 153  ---
 153  L2:
 153  -live- %r0
 153  getfield_gc_r %r0, FieldDescr<pypy.module.cStringIO.interp_stringio.W_InputType.inst_string> -> %r1
 158  ptr_iszero %r1 -> %i0
 161  goto L4
 164  ---
 164  L3:
 164  -live-
 164  raise $<* struct object>
