   0  -live- %r0, %r1, %r2, %r3
   3  guard_class %r2 -> %i0
   6  -live- %i0, %r0, %r1, %r2, %r3
   9  int_guard_value %i0
  11  -live- %r0, %r1, %r2, %r3
  14  guard_class %r2 -> %i0
  17  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i0
  22  -live- %i0, %r0, %r1, %r2, %r3
  25  switch %i0, <SwitchDictDescr 0:L1, 1:L2, 2:L3, 3:L4>
  29  unreachable
  30  ---
  30  L1:
  30  -live- %r0, %r1, %r2, %r3
  33  guard_class %r2 -> %i0
  36  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls__get_mapdict_map> -> %i0
  41  -live- %i0, %r0, %r1, %r2, %r3
  44  int_guard_value %i0
  46  residual_call_r_r %i0, <IndirectCallTargets>, R[%r2], <CallDescr(r) EF=2> -> %r4
  53  -live- %r0, %r1, %r2, %r3, %r4
  56  getfield_gc_r_pure %r4, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r4
  61  getfield_gc_r_pure %r4, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r4
  66  L5:
  66  inline_call_r_i <JitCode 'W_TypeObject.compares_by_identity'>, R[%r4] -> %i0
  72  -live- %i0, %r0, %r1, %r2, %r3
  75  goto_if_not %i0, L6
  79  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject.inst_dstorage> -> %r4
  84  -live- %r2, %r3, %r4
  87  goto_if_not_ptr_iszero %r3, L7
  91  inline_call_r_r <JitCode 'll_dict_pop__dicttablePtr_objectPtr'>, R[%r4, %r2] -> %r4
  98  -live- %r4
 101  ref_return %r4
 103  ---
 103  L7:
 103  inline_call_r_r <JitCode 'll_dict_pop_default__dicttablePtr_objectPtr_GCREFPtr'>, R[%r4, %r2, %r3] -> %r4
 111  -live- %r4
 114  ref_return %r4
 116  ---
 116  L6:
 116  -live- %r0, %r1, %r2, %r3
 119  guard_class %r2 -> %i0
 122  -live- %i0, %r0, %r1, %r2, %r3
 125  int_guard_value %i0
 127  -live- %r0, %r1, %r2, %r3
 130  guard_class %r2 -> %i0
 133  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i0
 138  -live- %i0, %r0, %r1, %r2, %r3
 141  switch %i0, <SwitchDictDescr 0:L8, 1:L9, 2:L10, 3:L11>
 145  unreachable
 146  ---
 146  L8:
 146  -live- %r0, %r1, %r2, %r3
 149  guard_class %r2 -> %i0
 152  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls__get_mapdict_map> -> %i0
 157  -live- %i0, %r0, %r1, %r2, %r3
 160  int_guard_value %i0
 162  residual_call_r_r %i0, <IndirectCallTargets>, R[%r2], <CallDescr(r) EF=2> -> %r4
 169  L12:
 169  -live- %r0, %r1, %r2, %r3
 172  residual_call_r_v $<* fn BytesDictStrategy.switch_to_object_strategy>, R[%r0, %r1], <CallDescr(rr) EF=7>
 179  -live- %r1, %r2, %r3
 182  guard_class %r1 -> %i0
 185  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
 190  -live- %i0, %r1, %r2, %r3
 193  switch %i0, <SwitchDictDescr 0:L13, 1:L14, 2:L15>
 197  unreachable
 198  ---
 198  L13:
 198  -live- %r1, %r2, %r3
 201  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 207  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r4
 212  L16:
 212  -live- %r1, %r2, %r3, %r4
 215  guard_class %r4 -> %i0
 218  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_pop> -> %i0
 223  -live- %i0, %r1, %r2, %r3, %r4
 226  int_guard_value %i0
 228  residual_call_r_r %i0, <IndirectCallTargets>, R[%r4, %r1, %r2, %r3], <CallDescr(rrrr) EF=7> -> %r4
 238  -live- %r4
 241  ref_return %r4
 243  ---
 243  L14:
 243  -live- %r1, %r2, %r3
 246  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r4
 251  goto L16
 254  ---
 254  L15:
 254  -live-
 257  raise $<* struct object>
 259  ---
 259  L9:
 259  -live- %r0, %r1, %r2, %r3
 262  getfield_gc_r %r2, FieldDescr<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable.inst_map> -> %r4
 267  -live- %r0, %r1, %r2, %r3, %r4
 270  ref_guard_value %r4
 272  goto L12
 275  ---
 275  L10:
 275  -live- %r0, %r1, %r2, %r3
 278  goto L12
 281  ---
 281  L11:
 281  -live- %r0, %r1, %r2, %r3
 284  goto L12
 287  ---
 287  L2:
 287  -live- %r0, %r1, %r2, %r3
 290  getfield_gc_r %r2, FieldDescr<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable.inst_map> -> %r4
 295  -live- %r0, %r1, %r2, %r3, %r4
 298  ref_guard_value %r4
 300  getfield_gc_r_pure %r4, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r4
 305  getfield_gc_r_pure %r4, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r4
 310  goto L5
 313  ---
 313  L3:
 313  -live- %r0, %r1, %r2, %r3
 316  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.proxyobject.W_Transparent.inst_w_type> -> %r4
 321  goto L5
 324  ---
 324  L4:
 324  -live- %r0, %r1, %r2, %r3
 327  guard_class %r2 -> %i0
 330  getfield_raw_r %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.pbc2internal_memofield_gettypefor_3> -> %r4
 335  goto L5
