   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_r %r0, FieldDescr<pypy.module.cStringIO.interp_stringio.W_InputType.inst_string> -> %r1
  18  ptr_iszero %r1 -> %i0
  21  L4:
  21  -live- %i0, %r0
  21  goto_if_not %i0, L5
  25  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x7fff713b8960> -> %r1
  29  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
  34  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
  39  assert_not_none %r1
  41  -live- %r1
  41  guard_class %r1 -> %i0
  44  -live- %r1
  44  raise %r1
  46  ---
  46  L5:
  46  -live- %r0
  46  guard_class %r0 -> %i0
  49  getfield_raw_i %i0, FieldDescr<pypy.module.cStringIO.interp_stringio.W_InputOutputType_vtable.cls_readline> -> %i0
  54  -live- %i0, %r0
  54  switch %i0, <SwitchDictDescr 0:L6, 1:L7, 2:L8>
  58  unreachable
  59  ---
  59  L6:
  59  -live- %r0
  59  residual_call_ir_r $<* fn W_OutputType.readline>, I[$-1], R[%r0], <CallDescr(ri) EF=5> -> %r0
  68  -live- %r0
  68  L9:
  68  strlen %r0 -> %i0
  71  -live- %i0, %r0
  71  goto_if_not_int_is_zero %i0, L10
  75  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x7fff5988b640> -> %r1
  79  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
  84  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst__w_value>
  89  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst__application_traceback>
  94  assert_not_none %r1
  96  -live- %r1
  96  guard_class %r1 -> %i0
  99  -live- %r1
  99  raise %r1
 101  ---
 101  L10:
 101  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x7fff4f52efa0> -> %r1
 105  setfield_gc_r %r1, %r0, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 110  ref_return %r1
 112  ---
 112  L7:
 112  -live- %r0
 112  inline_call_ir_r <JitCode 'W_InputType.readline'>, I[$-1], R[%r0] -> %r0
 120  -live- %r0
 120  goto L9
 123  ---
 123  L8:
 123  -live-
 123  raise $<* struct object>
 125  ---
 125  L2:
 125  -live- %r0
 125  getfield_gc_i %r0, FieldDescr<pypy.module.cStringIO.interp_stringio.W_OutputType.inst__RStringIO__closed> -> %i0
 130  goto L4
 133  ---
 133  L3:
 133  -live-
 133  raise $<* struct object>
