   0  -live- %i0, %i1, %r0, %r1, %r2
   0  goto_if_not_ptr_nonzero %r2, L1
   4  ref_copy %r2 -> %r3
   7  -live- %i0, %i1, %r0, %r1, %r2, %r3
   7  guard_class %r3 -> %i2
  10  -live- %i0, %i1, %i2, %r0, %r1, %r2
  10  goto_if_not_int_eq %i2, $<* struct object_vtable>, L2
  15  -live- %i0, %i1, %r0, %r1, %r2
  15  guard_class %r2 -> %i2
  18  getfield_raw_i %i2, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_unicode_w> -> %i2
  23  -live- %i0, %i1, %i2, %r0, %r1, %r2
  23  switch %i2, <SwitchDictDescr 0:L3, 1:L4, 2:L5>
  27  unreachable
  28  ---
  28  L3:
  28  -live- %i0, %i1, %r0, %r1, %r2
  28  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__value> -> %r3
  33  L6:
  33  residual_call_ir_i $<* fn UnicodeListStrategy._safe_find>, I[%i0, %i1], R[%r0, %r1, %r3], <CallDescr(rrrii) EF=5> -> %i2
  45  -live- %i2
  45  int_return %i2
  47  ---
  47  L4:
  47  -live- %r2
  47  inline_call_r_r <JitCode 'oefmt__expected__s__got__T_object_star_2'>, R[$<* struct pypy.objspace.std.typeobject.W_TypeObject>, $<* struct rpy_string>, $<* struct rpy_string>, %r2] -> %r3
  56  -live- %r3
  56  assert_not_none %r3
  58  -live- %r3
  58  guard_class %r3 -> %i2
  61  -live- %r3
  61  raise %r3
  63  ---
  63  L5:
  63  -live- %i0, %i1, %r0, %r1, %r2
  63  inline_call_r_r <JitCode 'W_AbstractBytesObject.unicode_w'>, R[%r2] -> %r3
  69  -live- %i0, %i1, %r0, %r1, %r3
  69  goto L6
  72  ---
  72  L2:
  72  L7:
  72  inline_call_ir_i <JitCode 'ListStrategy.find'>, I[%i0, %i1], R[%r0, %r1, %r2] -> %i2
  83  -live- %i2
  83  int_return %i2
  85  ---
  85  L1:
  85  goto L7
