   0  ref_isvirtual %r1 -> %i0
   3  -live- %i0, %r0, %r1
   3  goto_if_not %i0, L1
   7  L2:
   7  inline_call_r_r <JitCode 'w_keys__v78___simple_call__function_w_'>, R[%r0, %r1] -> %r1
  14  -live- %r1
  14  ref_return %r1
  16  ---
  16  L1:
  16  ref_isconstant %r1 -> %i0
  19  -live- %i0, %r0, %r1
  19  goto_if_not %i0, L3
  23  -live- %r0, %r1
  23  guard_class %r1 -> %i0
  26  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
  31  -live- %i0, %r0, %r1
  31  switch %i0, <SwitchDictDescr 0:L4, 1:L5, 2:L6>
  35  unreachable
  36  ---
  36  L4:
  36  -live- %r0, %r1
  36  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r2
  41  L7:
  41  -live- %r0, %r1, %r2
  41  guard_class %r2 -> %i0
  44  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_length> -> %i0
  49  -live- %i0, %r0, %r1, %r2
  49  int_guard_value %i0
  51  residual_call_r_i %i0, <IndirectCallTargets>, R[%r2, %r1], <CallDescr(rr) EF=2> -> %i0
  59  -live- %i0, %r0, %r1
  59  -live- %i0, %r0, %r1
  59  goto_if_not_int_le %i0, $5, L8
  64  goto L2
  67  ---
  67  L8:
  67  L9:
  67  residual_call_r_r $<* fn w_keys_trampoline__v187___simple_call__function_w>, R[%r0, %r1], <CallDescr(rr) EF=7> -> %r1
  75  -live- %r1
  75  ref_return %r1
  77  ---
  77  L5:
  77  -live-
  77  raise $<* struct object>
  79  ---
  79  L6:
  79  -live- %r0, %r1
  79  -live- %r0, %r1
  79  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
  85  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r2
  90  goto L7
  93  ---
  93  L3:
  93  goto L9
