   0  -live- %r0
   3  guard_class %r0 -> %i0
   6  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i1
  11  -live- %i0, %i1, %r0
  14  switch %i1, <SwitchDictDescr 0:L1, 1:L2, 2:L3, 3:L4>
  18  unreachable
  19  ---
  19  L1:
  19  -live- %i0, %r0
  22  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls__get_mapdict_map> -> %i0
  27  -live- %i0, %r0
  30  int_guard_value %i0
  32  residual_call_r_r %i0, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=2> -> %r1
  39  -live- %r0, %r1
  42  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r1
  47  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r1
  52  L5:
  52  getfield_gc_i_pure %r1, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst_hasuserdel> -> %i0
  57  -live- %i0, %r0
  60  goto_if_not %i0, L6
  64  void_return
  65  ---
  65  L6:
  65  residual_call_r_v $<* fn may_ignore_finalizer__pypy_interpreter_baseobjspace_W_Root>, R[%r0], <CallDescr(r) EF=2>
  71  void_return
  72  ---
  72  L2:
  72  -live- %r0
  75  getfield_gc_r %r0, FieldDescr<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable.inst_map> -> %r1
  80  -live- %r0, %r1
  83  ref_guard_value %r1
  85  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r1
  90  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r1
  95  goto L5
  98  ---
  98  L3:
  98  -live- %r0
 101  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.proxyobject.W_Transparent.inst_w_type> -> %r1
 106  goto L5
 109  ---
 109  L4:
 109  -live- %i0, %r0
 112  getfield_raw_r %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.pbc2internal_memofield_gettypefor_3> -> %r1
 117  goto L5
