   0  -live- %r1
   0  goto_if_not_ptr_nonzero %r1, L1
   4  ref_copy %r1 -> %r0
   7  -live- %r0, %r1
   7  guard_class %r1 -> %i0
  10  -live- %i0, %r0
  10  goto_if_not_int_eq %i0, $<* struct object_vtable>, L2
  15  -live- %r0
  15  guard_class %r0 -> %i0
  18  getfield_raw_i %i0, FieldDescr<pypy.module.cStringIO.interp_stringio.W_InputOutputType_vtable.cls_is_closed> -> %i0
  23  -live- %i0, %r0
  23  switch %i0, <SwitchDictDescr 0:L3, 1:L4, 2:L5>
  27  unreachable
  28  ---
  28  L3:
  28  -live- %r0
  28  getfield_gc_r %r0, FieldDescr<pypy.module.cStringIO.interp_stringio.W_InputType.inst_string> -> %r0
  33  ptr_iszero %r0 -> %i0
  36  L6:
  36  -live- %i0
  36  goto_if_not %i0, L7
  40  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
  42  ---
  42  L7:
  42  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
  44  ---
  44  L4:
  44  -live- %r0
  44  getfield_gc_i %r0, FieldDescr<pypy.module.cStringIO.interp_stringio.W_OutputType.inst__RStringIO__closed> -> %i0
  49  goto L6
  52  ---
  52  L5:
  52  -live-
  52  raise $<* struct object>
  54  ---
  54  L2:
  54  raise $<* struct object>
  56  ---
  56  L1:
  56  raise $<* struct object>
