   0  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_fileio.W_FileIO.inst_fd> -> %i0
   5  -live- %i0, %r0, %r1
   5  goto_if_not_int_lt %i0, $0, L1
  10  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aac6164720> -> %r1
  14  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
  19  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst__w_value>
  24  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst__application_traceback>
  29  assert_not_none %r1
  31  -live- %r1
  31  guard_class %r1 -> %i0
  34  -live- %r1
  34  raise %r1
  36  ---
  36  L1:
  36  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_fileio.W_FileIO.inst_readable> -> %i0
  41  -live- %i0, %r0, %r1
  41  goto_if_not %i0, L2
  45  inline_call_r_r <JitCode 'ObjSpace.writebuf_w'>, R[%r1] -> %r1
  51  -live- %r0, %r1
  51  -live- %r0, %r1
  51  guard_class %r1 -> %i0
  54  getfield_raw_i %i0, FieldDescr<rpython.rlib.buffer.Buffer_vtable.cls_getlength> -> %i0
  59  -live- %i0, %r0, %r1
  59  int_guard_value %i0
  61  residual_call_r_i %i0, <IndirectCallTargets>, R[%r1], <CallDescr(r) EF=5> -> %i1
  68  -live- %i1, %r0, %r1
  68  -live- %i1, %r0, %r1
  68  goto_if_not_int_gt %i1, $64, L3
  73  -live- %i1, %r0, %r1
  73  guard_class %r1 -> %i0
  76  getfield_raw_i %i0, FieldDescr<rpython.rlib.buffer.Buffer_vtable.cls_get_raw_address> -> %i0
  81  -live- %i0, %i1, %r0, %r1
  81  int_guard_value %i0
  83  residual_call_r_i %i0, <IndirectCallTargets>, R[%r1], <CallDescr(r) EF=7> -> %i0
  90  -live- %i0, %i1, %r0, %r1
  90  catch_exception L4
  93  -live- %i0, %i1, %r0, %r1
  93  goto_if_not_int_is_true %i0, L5
  97  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_fileio.W_FileIO.inst_fd> -> %i2
 102  int_signext %i2, $4 -> %i2
 106  residual_call_ir_i $<* fn ccall_read__INT_arrayPtr_Unsigned>, I[%i2, %i0, %i1], R[], <CallDescr(iii) EF=7> -> %i0
 116  -live- %i0, %r1
 116  -live- %i0, %r1
 116  -live- %i0
 116  goto_if_not_int_ge %i0, $0, L6
 121  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aac55491a0> -> %r1
 125  setfield_gc_i %r1, %i0, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 130  ref_return %r1
 132  ---
 132  L6:
 132  residual_call_ir_i $<* fn _ll_1_threadlocalref_get__INTLlT_Signed>, I[$CDefinedIntSymbolic('RPY_TLOFS_rpy_errno')], R[], <CallDescr(i) EF=2 OS_THREADLOCALREF_GET> -> %i0
 140  -live- %i0
 140  goto_if_not_int_eq %i0, $11, L7
 145  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 147  ---
 147  L7:
 147  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aabdec1d00> -> %r1
 151  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<exceptions.EnvironmentError.inst_strerror>
 156  setfield_gc_i %r1, %i0, FieldDescr<exceptions.EnvironmentError.inst_errno>
 161  inline_call_r_r <JitCode 'wrap_oserror2__exceptions_IOError'>, R[%r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, $<* struct pypy.objspace.std.typeobject.W_TypeObject>] -> %r1
 169  -live- %r1
 169  assert_not_none %r1
 171  -live- %r1
 171  guard_class %r1 -> %i0
 174  -live- %r1
 174  raise %r1
 176  ---
 176  L5:
 176  L8:
 176  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_fileio.W_FileIO.inst_fd> -> %i0
 181  inline_call_ir_r <JitCode 'read'>, I[%i0, %i1], R[] -> %r0
 189  -live- %r0, %r1
 189  catch_exception L9
 192  inline_call_ir_v <JitCode 'output_slice'>, I[$0], R[%r1, %r0]
 200  -live- %r0
 200  strlen %r0 -> %i0
 203  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aac55491a0> -> %r1
 207  setfield_gc_i %r1, %i0, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 212  ref_return %r1
 214  ---
 214  L9:
 214  goto_if_exception_mismatch $<* struct object_vtable>, L10
 218  last_exc_value -> %r1
 220  getfield_gc_i %r1, FieldDescr<exceptions.EnvironmentError.inst_errno> -> %i0
 225  -live- %i0, %r1
 225  goto_if_not_int_eq %i0, $11, L11
 230  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 232  ---
 232  L11:
 232  inline_call_r_r <JitCode 'wrap_oserror2__exceptions_IOError'>, R[%r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, $<* struct pypy.objspace.std.typeobject.W_TypeObject>] -> %r1
 240  -live- %r1
 240  assert_not_none %r1
 242  -live- %r1
 242  guard_class %r1 -> %i0
 245  -live- %r1
 245  raise %r1
 247  ---
 247  L10:
 247  reraise
 248  ---
 248  L4:
 248  goto_if_exception_mismatch $<* struct object_vtable>, L12
 252  goto L8
 255  ---
 255  L12:
 255  reraise
 256  ---
 256  L3:
 256  goto L8
 259  ---
 259  L2:
 259  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aabbb1b8a0> -> %r1
 263  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 268  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 273  assert_not_none %r1
 275  -live- %r1
 275  guard_class %r1 -> %i0
 278  -live- %r1
 278  raise %r1
