   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__v319___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  -live- %r0, %r1
  36  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
  42  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r2
  47  L7:
  47  -live- %r0, %r1, %r2
  47  guard_class %r2 -> %i0
  50  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_length> -> %i0
  55  -live- %i0, %r0, %r1, %r2
  55  int_guard_value %i0
  57  residual_call_r_i %i0, <IndirectCallTargets>, R[%r2, %r1], <CallDescr(rr) EF=5> -> %i0
  65  -live- %i0, %r0, %r1
  65  -live- %i0, %r0, %r1
  65  goto_if_not_int_le %i0, $5, L8
  70  goto L2
  73  ---
  73  L8:
  73  L9:
  73  residual_call_r_r $<* fn w_keys_trampoline__v407___simple_call__function_w>, R[%r0, %r1], <CallDescr(rr) EF=7> -> %r1
  81  -live- %r1
  81  ref_return %r1
  83  ---
  83  L5:
  83  -live- %r0, %r1
  83  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r2
  88  goto L7
  91  ---
  91  L6:
  91  -live-
  91  raise $<* struct object>
  93  ---
  93  L3:
  93  goto L9
