   0  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_fileio.W_FileIO.inst_fd> -> %i0
   5  -live- %i0, %r0, %r1
   8  goto_if_not_int_lt %i0, $0, L1
  13  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aa65924838> -> %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  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_fileio.W_FileIO.inst_readable> -> %i0
  44  -live- %i0, %r0, %r1
  47  goto_if_not %i0, L2
  51  inline_call_r_r <JitCode 'ObjSpace.writebuf_w'>, R[%r1] -> %r1
  57  -live- %r0, %r1
  60  guard_class %r1 -> %i0
  63  getfield_raw_i %i0, FieldDescr<rpython.rlib.buffer.Buffer_vtable.cls_getlength> -> %i0
  68  -live- %i0, %r0, %r1
  71  int_guard_value %i0
  73  residual_call_r_i %i0, <IndirectCallTargets>, R[%r1], <CallDescr(r) EF=5> -> %i1
  80  -live- %i1, %r0, %r1
  83  goto_if_not_int_gt %i1, $64, L3
  88  -live- %i1, %r0, %r1
  91  guard_class %r1 -> %i0
  94  getfield_raw_i %i0, FieldDescr<rpython.rlib.buffer.Buffer_vtable.cls_get_raw_address> -> %i0
  99  -live- %i0, %i1, %r0, %r1
 102  int_guard_value %i0
 104  residual_call_r_i %i0, <IndirectCallTargets>, R[%r1], <CallDescr(r) EF=7> -> %i0
 111  -live- %i0, %i1, %r0, %r1
 114  catch_exception L4
 117  -live- %i0, %i1, %r0, %r1
 120  goto_if_not_int_is_true %i0, L5
 124  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_fileio.W_FileIO.inst_fd> -> %i2
 129  int_signext %i2, $4 -> %i2
 133  residual_call_ir_i $<* fn ccall_read__INT_arrayPtr_Unsigned>, I[%i2, %i0, %i1], R[], <CallDescr(iii) EF=7> -> %i0
 143  -live- %i0, %r1
 146  goto_if_not_int_ge %i0, $0, L6
 151  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aa74983ec0> -> %r1
 155  setfield_gc_i %r1, %i0, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 160  ref_return %r1
 162  ---
 162  L6:
 162  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
 170  -live- %i0
 173  goto_if_not_int_eq %i0, $11, L7
 178  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 180  ---
 180  L7:
 180  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aa2ac745d0> -> %r1
 184  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<exceptions.EnvironmentError.inst_strerror>
 189  setfield_gc_i %r1, %i0, FieldDescr<exceptions.EnvironmentError.inst_errno>
 194  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
 202  -live- %r1
 205  assert_not_none %r1
 207  -live- %r1
 210  guard_class %r1 -> %i0
 213  -live- %r1
 216  raise %r1
 218  ---
 218  L5:
 218  L8:
 218  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_fileio.W_FileIO.inst_fd> -> %i0
 223  inline_call_ir_r <JitCode 'read'>, I[%i0, %i1], R[] -> %r0
 231  -live- %r0, %r1
 234  catch_exception L9
 237  inline_call_ir_v <JitCode 'output_slice'>, I[$0], R[%r1, %r0]
 245  -live- %r0
 248  strlen %r0 -> %i0
 251  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aa74983ec0> -> %r1
 255  setfield_gc_i %r1, %i0, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 260  ref_return %r1
 262  ---
 262  L9:
 262  goto_if_exception_mismatch $<* struct object_vtable>, L10
 266  last_exc_value -> %r1
 268  getfield_gc_i %r1, FieldDescr<exceptions.EnvironmentError.inst_errno> -> %i0
 273  -live- %i0, %r1
 276  goto_if_not_int_eq %i0, $11, L11
 281  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 283  ---
 283  L11:
 283  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
 291  -live- %r1
 294  assert_not_none %r1
 296  -live- %r1
 299  guard_class %r1 -> %i0
 302  -live- %r1
 305  raise %r1
 307  ---
 307  L10:
 307  reraise
 308  ---
 308  L4:
 308  goto_if_exception_mismatch $<* struct object_vtable>, L12
 312  goto L8
 315  ---
 315  L12:
 315  reraise
 316  ---
 316  L3:
 316  goto L8
 319  ---
 319  L2:
 319  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aa65925830> -> %r1
 323  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 328  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 333  assert_not_none %r1
 335  -live- %r1
 338  raise %r1
