   0  getfield_gc_r_pure %r0, FieldDescr<pypy.module.mmap.interp_mmap.MMapBuffer.inst_mmap> -> %r1
   5  inline_call_r_v <JitCode 'MMap.check_valid'>, R[%r1]
  10  -live- %i0, %i1, %i2, %r0
  13  catch_exception L1
  16  -live- %i0, %i1, %i2, %r0
  19  goto_if_not_int_eq %i1, $1, L2
  24  getfield_gc_r_pure %r0, FieldDescr<pypy.module.mmap.interp_mmap.MMapBuffer.inst_mmap> -> %r1
  29  -live- %i0, %i2, %r1
  32  goto_if_not_int_lt %i2, $0, L3
  37  ref_return $<* struct rpy_string>
  39  ---
  39  L3:
  39  getfield_gc_i %r1, FieldDescr<rpython.rlib.rmmap.MMap.inst_data> -> %i1
  44  int_add %i1, %i0 -> %i1
  48  newstr %i2 -> %r1
  51  residual_call_ir_v $<* fn copy_raw_to_string>, I[%i1, $0, %i2], R[%r1], <CallDescr(irii) EF=5>
  61  -live- %r1
  64  ref_return %r1
  66  ---
  66  L2:
  66  residual_call_ir_r $<* fn Buffer.getslice>, I[%i0, %i1, %i2], R[%r0], <CallDescr(riii) EF=7> -> %r1
  77  -live- %r1
  80  ref_return %r1
  82  ---
  82  L1:
  82  goto_if_exception_mismatch $<* struct object_vtable>, L4
  86  last_exc_value -> %r1
  88  inline_call_r_r <JitCode 'mmap_error'>, R[%r1] -> %r1
  94  -live- %r1
  97  assert_not_none %r1
  99  -live- %r1
 102  guard_class %r1 -> %i1
 105  -live- %r1
 108  raise %r1
 110  ---
 110  L4:
 110  reraise
