   0  -live- %r0, %r1
   3  goto_if_not_ptr_nonzero %r1, L1
   7  ref_copy %r1 -> %r2
  10  -live- %r0, %r1, %r2
  13  guard_class %r1 -> %i0
  16  -live- %i0, %r0, %r2
  19  goto_if_not_int_eq %i0, $<* struct object_vtable>, L2
  24  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.bufferobject.W_AbstractBuffer.inst_buf> -> %r1
  29  -live- %r1, %r2
  32  guard_class %r1 -> %i0
  35  getfield_raw_i %i0, FieldDescr<rpython.rlib.buffer.Buffer_vtable.cls_as_str> -> %i1
  40  -live- %i0, %i1, %r1, %r2
  43  switch %i1, <SwitchDictDescr 0:L3, 1:L4, 2:L5>
  47  unreachable
  48  ---
  48  L3:
  48  -live- %r1, %r2
  51  getfield_gc_r_pure %r1, FieldDescr<rpython.rlib.buffer.StringBuffer.inst_value> -> %r1
  56  L6:
  56  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.bufferobject.W_AbstractBuffer.inst_buf> -> %r0
  61  -live- %r0, %r1
  64  guard_class %r0 -> %i0
  67  getfield_raw_i %i0, FieldDescr<rpython.rlib.buffer.Buffer_vtable.cls_as_str> -> %i1
  72  -live- %i0, %i1, %r0, %r1
  75  switch %i1, <SwitchDictDescr 0:L7, 1:L8, 2:L9>
  79  unreachable
  80  ---
  80  L7:
  80  -live- %r0, %r1
  83  getfield_gc_r_pure %r0, FieldDescr<rpython.rlib.buffer.StringBuffer.inst_value> -> %r0
  88  L10:
  88  residual_call_r_i $<* fn ll_strcmp__rpy_stringPtr_rpy_stringPtr>, R[%r1, %r0], <CallDescr(rr) EF=0 OS_STR_CMP> -> %i0
  96  -live- %i0
  99  goto_if_not_int_gt %i0, $0, L11
 104  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 106  ---
 106  L11:
 106  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 108  ---
 108  L8:
 108  -live-
 111  raise $<* struct object>
 113  ---
 113  L9:
 113  -live- %i0, %r0, %r1
 116  ref_copy %r0 -> %r2
 119  getfield_raw_i %i0, FieldDescr<rpython.rlib.buffer.Buffer_vtable.cls_getlength> -> %i0
 124  -live- %i0, %r0, %r1, %r2
 127  int_guard_value %i0
 129  residual_call_r_i %i0, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=5> -> %i0
 136  -live- %i0, %r0, %r1, %r2
 139  guard_class %r2 -> %i1
 142  getfield_raw_i %i1, FieldDescr<rpython.rlib.buffer.Buffer_vtable.cls_getslice> -> %i1
 147  -live- %i0, %i1, %r0, %r1
 150  int_guard_value %i1
 152  residual_call_ir_r %i1, <IndirectCallTargets>, I[$0, $1, %i0], R[%r0], <CallDescr(riii) EF=7> -> %r0
 163  -live- %r0, %r1
 166  goto L10
 169  ---
 169  L4:
 169  -live-
 172  raise $<* struct object>
 174  ---
 174  L5:
 174  -live- %i0, %r1, %r2
 177  ref_copy %r1 -> %r0
 180  getfield_raw_i %i0, FieldDescr<rpython.rlib.buffer.Buffer_vtable.cls_getlength> -> %i0
 185  -live- %i0, %r0, %r1, %r2
 188  int_guard_value %i0
 190  residual_call_r_i %i0, <IndirectCallTargets>, R[%r1], <CallDescr(r) EF=5> -> %i0
 197  -live- %i0, %r0, %r1, %r2
 200  guard_class %r0 -> %i1
 203  getfield_raw_i %i1, FieldDescr<rpython.rlib.buffer.Buffer_vtable.cls_getslice> -> %i1
 208  -live- %i0, %i1, %r1, %r2
 211  int_guard_value %i1
 213  residual_call_ir_r %i1, <IndirectCallTargets>, I[$0, $1, %i0], R[%r1], <CallDescr(riii) EF=7> -> %r1
 224  -live- %r1, %r2
 227  goto L6
 230  ---
 230  L2:
 230  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 232  ---
 232  L1:
 232  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
