   0  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject.inst_dstorage> -> %r3
   5  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x8184d450> -> %r4
   9  setfield_gc_r %r4, %r3, FieldDescr<dictiter.dict>
  14  getfield_gc_i %r3, FieldDescr<dicttable.lookup_function_no> -> %i0
  19  int_rshift %i0, $2 -> %i0
  23  setfield_gc_i %r4, %i0, FieldDescr<dictiter.index>
  28  -live- %r0, %r1, %r2, %r4
  28  guard_class %r2 -> %i0
  31  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
  36  -live- %i0, %r0, %r1, %r2, %r4
  36  switch %i0, <SwitchDictDescr 0:L1, 1:L2, 2:L3>
  40  unreachable
  41  ---
  41  L1:
  41  -live-
  41  raise $<* struct object>
  43  ---
  43  L2:
  43  -live- %r0, %r1, %r2, %r4
  43  -live- %r0, %r1, %r2, %r4
  43  record_quasiimmut_field %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
  49  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
  54  L4:
  54  instance_ptr_eq %r3, %r0 -> %i0
  58  -live- %i0, %r0, %r1, %r2, %r4
  58  goto_if_not %i0, L5
  62  -live- %r1, %r2, %r4
  62  guard_class %r1 -> %i0
  65  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
  70  -live- %i0, %r1, %r2, %r4
  70  switch %i0, <SwitchDictDescr 0:L6, 1:L7, 2:L8>
  74  unreachable
  75  ---
  75  L6:
  75  -live-
  75  raise $<* struct object>
  77  ---
  77  L7:
  77  -live- %r1, %r2, %r4
  77  -live- %r1, %r2, %r4
  77  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
  83  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
  88  L9:
  88  -live- %r1, %r2, %r3, %r4
  88  guard_class %r3 -> %i0
  91  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_length> -> %i0
  96  -live- %i0, %r1, %r2, %r3, %r4
  96  int_guard_value %i0
  98  residual_call_r_i %i0, <IndirectCallTargets>, R[%r3, %r1], <CallDescr(rr) EF=2> -> %i0
 106  -live- %i0, %r2, %r4
 106  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject.inst_dstorage> -> %r3
 111  inline_call_ir_v <JitCode 'll_prepare_dict_update__dicttablePtr_Signed'>, I[%i0], R[%r3]
 118  -live- %r2, %r4
 118  L10:
 118  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject.inst_dstorage> -> %r3
 123  L11:
 123  inline_call_r_i <JitCode '_ll_dictnext_look_inside_iff__dictiterPtr'>, R[%r4] -> %i0
 129  -live- %i0, %r3, %r4
 129  catch_exception L12
 132  ref_copy %r3 -> %r2
 135  getfield_gc_r %r4, FieldDescr<dictiter.dict> -> %r3
 140  getfield_gc_r %r3, FieldDescr<dicttable.entries> -> %r3
 145  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x349f1490> -> %r0
 151  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x1ae335d0> -> %r1
 157  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x349f1490> -> %r3
 163  -live- %r0, %r1, %r2, %r3, %r4
 163  goto_if_not_ptr_nonzero %r3, L13
 167  residual_call_r_i $<* fn _ll_1_gc_identityhash__objectPtr>, R[%r3], <CallDescr(r) EF=3> -> %i1
 174  -live- %i1, %r0, %r1, %r2, %r4
 174  L14:
 174  ref_copy %r2 -> %r3
 177  ref_isvirtual %r2 -> %i0
 180  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4
 180  goto_if_not %i0, L15
 184  inline_call_ir_i <JitCode 'll_call_lookup_function__v1813___simple_call__function_'>, I[%i1, $1], R[%r2, %r0] -> %i0
 194  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4
 194  L16:
 194  inline_call_ir_v <JitCode '_ll_dict_setitem_lookup_done_look_inside_iff__dicttablePtr_objectPtr_objectPtr_Signed_Signed'>, I[%i1, %i0], R[%r2, %r0, %r1]
 204  -live- %r3, %r4
 204  goto L11
 207  ---
 207  L15:
 207  residual_call_ir_i $<* fn ll_call_lookup_function_trampoline__v1815___simple_call__function_>, I[%i1, $1], R[%r2, %r0], <CallDescr(rrii) EF=5 OS_DICT_LOOKUP> -> %i0
 218  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4
 218  goto L16
 221  ---
 221  L13:
 221  int_copy $0 -> %i1
 224  goto L14
 227  ---
 227  L12:
 227  goto_if_exception_mismatch $<* struct object_vtable>, L17
 231  void_return
 232  ---
 232  L17:
 232  reraise
 233  ---
 233  L8:
 233  -live- %r1, %r2, %r4
 233  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 238  goto L9
 241  ---
 241  L5:
 241  inline_call_r_i <JitCode '_ll_dictnext_look_inside_iff__dictiterPtr'>, R[%r4] -> %i0
 247  -live- %i0, %r0, %r1, %r2, %r4
 247  catch_exception L18
 250  getfield_gc_r %r4, FieldDescr<dictiter.dict> -> %r3
 255  getfield_gc_r %r3, FieldDescr<dicttable.entries> -> %r3
 260  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x349f1490> -> %r6
 266  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x1ae335d0> -> %r5
 272  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x349f1490> -> %r3
 278  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 278  goto_if_not_ptr_nonzero %r3, L19
 282  residual_call_r_i $<* fn _ll_1_gc_identityhash__objectPtr>, R[%r3], <CallDescr(r) EF=3> -> %i0
 289  -live- %r0, %r1, %r2, %r4, %r5, %r6
 289  L20:
 289  inline_call_r_v <JitCode 'setitem__star_2'>, R[%r2, %r6, %r5]
 296  -live- %r0, %r1, %r2, %r4
 296  -live- %r0, %r1, %r2, %r4
 296  guard_class %r1 -> %i0
 299  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
 304  -live- %i0, %r0, %r1, %r2, %r4
 304  switch %i0, <SwitchDictDescr 0:L21, 1:L22, 2:L23>
 308  unreachable
 309  ---
 309  L21:
 309  -live-
 309  raise $<* struct object>
 311  ---
 311  L22:
 311  -live- %r0, %r1, %r2, %r4
 311  -live- %r0, %r1, %r2, %r4
 311  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 317  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
 322  L24:
 322  -live- %r0, %r1, %r2, %r3, %r4
 322  guard_class %r3 -> %i0
 325  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_length> -> %i0
 330  -live- %i0, %r0, %r1, %r2, %r3, %r4
 330  int_guard_value %i0
 332  residual_call_r_i %i0, <IndirectCallTargets>, R[%r3, %r1], <CallDescr(rr) EF=2> -> %i0
 340  -live- %i0, %r0, %r2, %r4
 340  int_sub %i0, $1 -> %i1
 344  -live- %i1, %r0, %r2, %r4
 344  guard_class %r2 -> %i0
 347  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
 352  -live- %i0, %i1, %r0, %r2, %r4
 352  switch %i0, <SwitchDictDescr 0:L25, 1:L26, 2:L27>
 356  unreachable
 357  ---
 357  L25:
 357  -live-
 357  raise $<* struct object>
 359  ---
 359  L26:
 359  -live- %i1, %r0, %r2, %r4
 359  -live- %i1, %r0, %r2, %r4
 359  record_quasiimmut_field %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 365  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
 370  L28:
 370  -live- %i1, %r0, %r2, %r3, %r4
 370  guard_class %r3 -> %i0
 373  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_prepare_update> -> %i0
 378  -live- %i0, %i1, %r0, %r2, %r3, %r4
 378  int_guard_value %i0
 380  residual_call_ir_v %i0, <IndirectCallTargets>, I[%i1], R[%r3, %r2], <CallDescr(rri) EF=5>
 389  -live- %r0, %r2, %r4
 389  -live- %r0, %r2, %r4
 389  guard_class %r2 -> %i0
 392  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
 397  -live- %i0, %r0, %r2, %r4
 397  switch %i0, <SwitchDictDescr 0:L29, 1:L30, 2:L31>
 401  unreachable
 402  ---
 402  L29:
 402  -live-
 402  raise $<* struct object>
 404  ---
 404  L30:
 404  -live- %r0, %r2, %r4
 404  -live- %r0, %r2, %r4
 404  record_quasiimmut_field %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 410  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
 415  L32:
 415  instance_ptr_eq %r3, %r0 -> %i0
 419  -live- %i0, %r2, %r4
 419  goto_if_not %i0, L33
 423  goto L10
 426  ---
 426  L33:
 426  L34:
 426  inline_call_r_i <JitCode '_ll_dictnext_look_inside_iff__dictiterPtr'>, R[%r4] -> %i0
 432  -live- %i0, %r2, %r4
 432  catch_exception L35
 435  getfield_gc_r %r4, FieldDescr<dictiter.dict> -> %r3
 440  getfield_gc_r %r3, FieldDescr<dicttable.entries> -> %r3
 445  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x349f1490> -> %r1
 451  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x1ae335d0> -> %r0
 457  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x349f1490> -> %r3
 463  -live- %r0, %r1, %r2, %r3, %r4
 463  goto_if_not_ptr_nonzero %r3, L36
 467  residual_call_r_i $<* fn _ll_1_gc_identityhash__objectPtr>, R[%r3], <CallDescr(r) EF=3> -> %i0
 474  -live- %r0, %r1, %r2, %r4
 474  L37:
 474  inline_call_r_v <JitCode 'setitem__star_2'>, R[%r2, %r1, %r0]
 481  -live- %r2, %r4
 481  goto L34
 484  ---
 484  L36:
 484  goto L37
 487  ---
 487  L35:
 487  goto_if_exception_mismatch $<* struct object_vtable>, L38
 491  void_return
 492  ---
 492  L38:
 492  reraise
 493  ---
 493  L31:
 493  -live- %r0, %r2, %r4
 493  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 498  goto L32
 501  ---
 501  L27:
 501  -live- %i1, %r0, %r2, %r4
 501  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 506  goto L28
 509  ---
 509  L23:
 509  -live- %r0, %r1, %r2, %r4
 509  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 514  goto L24
 517  ---
 517  L19:
 517  goto L20
 520  ---
 520  L18:
 520  goto_if_exception_mismatch $<* struct object_vtable>, L39
 524  void_return
 525  ---
 525  L39:
 525  reraise
 526  ---
 526  L3:
 526  -live- %r0, %r1, %r2, %r4
 526  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 531  goto L4
