   0  -live- %r0, %r1, %r2
   0  guard_class %r1 -> %i0
   3  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_str_w> -> %i0
   8  -live- %i0, %r0, %r1, %r2
   8  switch %i0, <SwitchDictDescr 0:L1, 1:L2, 2:L3>
  12  unreachable
  13  ---
  13  L1:
  13  -live- %r0, %r1, %r2
  13  inline_call_r_r <JitCode 'W_UnicodeObject.str_w'>, R[%r1] -> %r3
  19  -live- %r0, %r1, %r2, %r3
  19  L4:
  19  strlen %r3 -> %i0
  22  -live- %i0, %r0, %r1, %r2, %r3
  22  goto_if_not_int_is_true %i0, L5
  26  strgetitem %r3, $0 -> %i0
  30  -live- %i0, %r0, %r1, %r2, %r3
  30  goto_if_not_int_eq %i0, $'_', L6
  35  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r3, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
  43  -live- %i0, %r0, %r1, %r2, %r3
  43  goto_if_not %i0, L7
  47  inline_call_r_v <JitCode 'W_ClassObject.setdict'>, R[%r0, %r2]
  53  -live-
  53  void_return
  54  ---
  54  L7:
  54  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r3, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
  62  -live- %i0, %r0, %r1, %r2, %r3
  62  goto_if_not %i0, L8
  66  inline_call_r_v <JitCode 'W_ClassObject.setname'>, R[%r0, %r2]
  72  -live-
  72  void_return
  73  ---
  73  L8:
  73  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r3, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
  81  -live- %i0, %r0, %r1, %r2, %r3
  81  goto_if_not %i0, L9
  85  residual_call_r_v $<* fn W_ClassObject.setbases>, R[%r0, %r2], <CallDescr(rr) EF=7>
  92  -live-
  92  void_return
  93  ---
  93  L9:
  93  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r3, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
 101  -live- %i0, %r0, %r1, %r2
 101  goto_if_not %i0, L10
 105  inline_call_r_r <JitCode 'W_ClassObject.lookup'>, R[%r0, $<* struct rpy_string>] -> %r3
 112  -live- %r0, %r1, %r2, %r3
 112  -live- %r0, %r1, %r2, %r3
 112  goto_if_not_ptr_iszero %r3, L11
 116  inline_call_ir_v <JitCode 'ObjSpace.warn'>, I[$2], R[$<* struct pypy.objspace.std.bytesobject.W_BytesObject>, $<* struct pypy.objspace.std.typeobject.W_TypeObject>]
 124  -live- %r0, %r1, %r2
 124  L12:
 124  -live- %r0, %r1, %r2
 124  record_quasiimmut_field %r0, FieldDescr<pypy.module.__builtin__.interp_classobj.W_ClassObject.inst_w_dict>, FieldDescr<pypy.module.__builtin__.interp_classobj.W_ClassObject.mutate_w_dict>
 130  getfield_gc_r_pure %r0, FieldDescr<pypy.module.__builtin__.interp_classobj.W_ClassObject.inst_w_dict> -> %r3
 135  inline_call_r_r <JitCode 'setitem'>, R[%r3, %r1, %r2] -> %r3
 143  -live-
 143  void_return
 144  ---
 144  L11:
 144  goto L12
 147  ---
 147  L10:
 147  goto L12
 150  ---
 150  L6:
 150  goto L12
 153  ---
 153  L5:
 153  goto L12
 156  ---
 156  L2:
 156  -live- %r0, %r1, %r2
 156  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value> -> %r3
 161  goto L4
 164  ---
 164  L3:
 164  -live- %r1
 164  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] -> %r3
 173  -live- %r3
 173  assert_not_none %r3
 175  -live- %r3
 175  guard_class %r3 -> %i0
 178  -live- %r3
 178  raise %r3
