   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
  10  catch_exception L1
  13  -live- %i0, %i1, %i2, %r0
  13  goto_if_not_int_eq %i1, $1, L2
  18  getfield_gc_r_pure %r0, FieldDescr<pypy.module.mmap.interp_mmap.MMapBuffer.inst_mmap> -> %r1
  23  -live- %i0, %i2, %r1
  23  goto_if_not_int_lt %i2, $0, L3
  28  ref_return $<* struct rpy_string>
  30  ---
  30  L3:
  30  getfield_gc_i %r1, FieldDescr<rpython.rlib.rmmap.MMap.inst_data> -> %i1
  35  int_add %i1, %i0 -> %i1
  39  newstr %i2 -> %r1
  42  residual_call_ir_v $<* fn copy_raw_to_string>, I[%i1, $0, %i2], R[%r1], <CallDescr(irii) EF=5>
  52  -live- %r1
  52  ref_return %r1
  54  ---
  54  L2:
  54  residual_call_ir_r $<* fn Buffer.getslice>, I[%i0, %i1, %i2], R[%r0], <CallDescr(riii) EF=7> -> %r1
  65  -live- %r1
  65  ref_return %r1
  67  ---
  67  L1:
  67  goto_if_exception_mismatch $<* struct object_vtable>, L4
  71  last_exc_value -> %r1
  73  inline_call_r_r <JitCode 'mmap_error'>, R[%r1] -> %r1
  79  -live- %r1
  79  assert_not_none %r1
  81  -live- %r1
  81  guard_class %r1 -> %i1
  84  -live- %r1
  84  raise %r1
  86  ---
  86  L4:
  86  reraise
