   0  -live- %r0, %r1
   0  goto_if_not_ptr_nonzero %r0, L1
   4  ref_copy %r0 -> %r2
   7  -live- %r0, %r1, %r2
   7  guard_class %r2 -> %i0
  10  -live- %i0, %r0, %r1
  10  goto_if_not_int_eq %i0, $<* struct object_vtable>, L2
  15  -live- %r0, %r1
  15  guard_class %r1 -> %i0
  18  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_str_w> -> %i0
  23  -live- %i0, %r0, %r1
  23  switch %i0, <SwitchDictDescr 0:L3, 1:L4, 2:L5>
  27  unreachable
  28  ---
  28  L3:
  28  -live- %r0, %r1
  28  inline_call_r_r <JitCode 'W_UnicodeObject.str_w'>, R[%r1] -> %r2
  34  -live- %r0, %r2
  34  L6:
  34  residual_call_r_r $<* fn UCD._get_code>, R[%r0, %r2], <CallDescr(rr) EF=7> -> %r2
  42  -live- %r2
  42  ref_return %r2
  44  ---
  44  L4:
  44  -live- %r0, %r1
  44  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value> -> %r2
  49  goto L6
  52  ---
  52  L5:
  52  -live- %r1
  52  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>, %r1] -> %r2
  61  -live- %r2
  61  -live- %r2
  61  guard_class %r2 -> %i0
  64  -live- %r2
  64  raise %r2
  66  ---
  66  L2:
  66  L7:
  66  -live- %r0
  66  guard_class %r0 -> %i0
  69  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i0
  74  -live- %i0, %r0
  74  int_guard_value %i0
  76  residual_call_r_r %i0, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=2> -> %r2
  83  -live- %r2
  83  inline_call_r_r <JitCode 'oefmt____s__object_expected__got___N__instead_star_2'>, R[$<* struct pypy.objspace.std.typeobject.W_TypeObject>, $<* struct rpy_string>, $<* struct rpy_string>, %r2] -> %r2
  92  -live- %r2
  92  -live- %r2
  92  guard_class %r2 -> %i0
  95  -live- %r2
  95  raise %r2
  97  ---
  97  L1:
  97  goto L7
