   0  -live- %r0, %r1
   0  guard_class %r1 -> %i0
   3  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_readbuf_w> -> %i0
   8  -live- %i0, %r0, %r1
   8  int_guard_value %i0
  10  residual_call_r_r %i0, <IndirectCallTargets>, R[%r1], <CallDescr(r) EF=7> -> %r3
  17  -live- %r0, %r1, %r3
  17  catch_exception L1
  20  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.bufferobject.W_Buffer.inst_buf> -> %r2
  25  -live- %r0, %r1, %r2, %r3
  25  guard_class %r2 -> %i0
  28  getfield_raw_i %i0, FieldDescr<rpython.rlib.buffer.Buffer_vtable.cls_getlength> -> %i0
  33  -live- %i0, %r0, %r1, %r2, %r3
  33  int_guard_value %i0
  35  residual_call_r_i %i0, <IndirectCallTargets>, R[%r2], <CallDescr(r) EF=5> -> %i0
  42  -live- %i0, %r0, %r1, %r3
  42  -live- %i0, %r0, %r1, %r3
  42  goto_if_not_int_lt %i0, $1, L2
  47  ref_return %r1
  49  ---
  49  L2:
  49  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.bufferobject.W_Buffer.inst_buf> -> %r0
  54  -live- %r0, %r3
  54  guard_class %r0 -> %i0
  57  getfield_raw_i %i0, FieldDescr<rpython.rlib.buffer.Buffer_vtable.cls_as_str> -> %i0
  62  -live- %i0, %r0, %r3
  62  switch %i0, <SwitchDictDescr 0:L3, 1:L4, 2:L5>
  66  unreachable
  67  ---
  67  L3:
  67  -live- %r0, %r3
  67  getfield_gc_r_pure %r0, FieldDescr<rpython.rlib.buffer.StringBuffer.inst_value> -> %r0
  72  L6:
  72  -live- %r0, %r3
  72  guard_class %r3 -> %i0
  75  getfield_raw_i %i0, FieldDescr<rpython.rlib.buffer.Buffer_vtable.cls_as_str> -> %i0
  80  -live- %i0, %r0, %r3
  80  switch %i0, <SwitchDictDescr 0:L7, 1:L8, 2:L9>
  84  unreachable
  85  ---
  85  L7:
  85  -live- %r0, %r3
  85  getfield_gc_r_pure %r3, FieldDescr<rpython.rlib.buffer.StringBuffer.inst_value> -> %r2
  90  L10:
  90  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r0, %r2], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r0
  98  -live- %r0
  98  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x50dda030> -> %r1
 102  setfield_gc_r %r1, %r0, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 107  ref_return %r1
 109  ---
 109  L8:
 109  -live-
 109  raise $<* struct object>
 111  ---
 111  L9:
 111  -live- %r0, %r3
 111  inline_call_r_r <JitCode 'Buffer.as_str'>, R[%r3] -> %r2
 117  -live- %r0, %r2
 117  goto L10
 120  ---
 120  L4:
 120  -live-
 120  raise $<* struct object>
 122  ---
 122  L5:
 122  -live- %r0, %r3
 122  inline_call_r_r <JitCode 'Buffer.as_str'>, R[%r0] -> %r0
 128  -live- %r0, %r3
 128  goto L6
 131  ---
 131  L1:
 131  goto_if_exception_mismatch $<* struct object_vtable>, L11
 135  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x503446d0> -> %r0
 139  setfield_gc_r %r0, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 144  setfield_gc_r %r0, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 149  assert_not_none %r0
 151  -live- %r0
 151  guard_class %r0 -> %i0
 154  -live- %r0
 154  raise %r0
 156  ---
 156  L11:
 156  reraise
