   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 0x100966ef410> -> %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- %r0, %r1, %r2, %r4
  41  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
  46  L4:
  46  instance_ptr_eq %r3, %r0 -> %i0
  50  -live- %i0, %r0, %r1, %r2, %r4
  50  goto_if_not %i0, L5
  54  -live- %r1, %r2, %r4
  54  guard_class %r1 -> %i0
  57  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
  62  -live- %i0, %r1, %r2, %r4
  62  switch %i0, <SwitchDictDescr 0:L6, 1:L7, 2:L8>
  66  unreachable
  67  ---
  67  L6:
  67  -live- %r1, %r2, %r4
  67  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
  72  L9:
  72  -live- %r1, %r2, %r3, %r4
  72  guard_class %r3 -> %i0
  75  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_length> -> %i0
  80  -live- %i0, %r1, %r2, %r3, %r4
  80  int_guard_value %i0
  82  residual_call_r_i %i0, <IndirectCallTargets>, R[%r3, %r1], <CallDescr(rr) EF=2> -> %i0
  90  -live- %i0, %r2, %r4
  90  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject.inst_dstorage> -> %r3
  95  inline_call_ir_v <JitCode 'll_prepare_dict_update__dicttablePtr_Signed'>, I[%i0], R[%r3]
 102  -live- %r2, %r4
 102  L10:
 102  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject.inst_dstorage> -> %r3
 107  L11:
 107  inline_call_r_i <JitCode '_ll_dictnext_look_inside_iff__dictiterPtr'>, R[%r4] -> %i0
 113  -live- %i0, %r3, %r4
 113  catch_exception L12
 116  ref_copy %r3 -> %r2
 119  getfield_gc_r %r4, FieldDescr<dictiter.dict> -> %r3
 124  getfield_gc_r %r3, FieldDescr<dicttable.entries> -> %r3
 129  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x10081af3f50> -> %r0
 135  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x10081af3d50> -> %r1
 141  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x10081af3f50> -> %r3
 147  -live- %r0, %r1, %r2, %r3, %r4
 147  goto_if_not_ptr_nonzero %r3, L13
 151  residual_call_r_i $<* fn _ll_1_gc_identityhash__objectPtr>, R[%r3], <CallDescr(r) EF=3> -> %i1
 158  -live- %i1, %r0, %r1, %r2, %r4
 158  L14:
 158  ref_copy %r2 -> %r3
 161  ref_isvirtual %r2 -> %i0
 164  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4
 164  goto_if_not %i0, L15
 168  inline_call_ir_i <JitCode 'll_call_lookup_function__v1505___simple_call__function_'>, I[%i1, $1], R[%r2, %r0] -> %i0
 178  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4
 178  L16:
 178  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]
 188  -live- %r3, %r4
 188  goto L11
 191  ---
 191  L15:
 191  residual_call_ir_i $<* fn ll_call_lookup_function_trampoline__v1515___simple_call__function_>, I[%i1, $1], R[%r2, %r0], <CallDescr(rrii) EF=5 OS_DICT_LOOKUP> -> %i0
 202  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4
 202  goto L16
 205  ---
 205  L13:
 205  int_copy $0 -> %i1
 208  goto L14
 211  ---
 211  L12:
 211  goto_if_exception_mismatch $<* struct object_vtable>, L17
 215  void_return
 216  ---
 216  L17:
 216  reraise
 217  ---
 217  L7:
 217  -live-
 217  raise $<* struct object>
 219  ---
 219  L8:
 219  -live- %r1, %r2, %r4
 219  -live- %r1, %r2, %r4
 219  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 225  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
 230  goto L9
 233  ---
 233  L5:
 233  inline_call_r_i <JitCode '_ll_dictnext_look_inside_iff__dictiterPtr'>, R[%r4] -> %i0
 239  -live- %i0, %r0, %r1, %r2, %r4
 239  catch_exception L18
 242  getfield_gc_r %r4, FieldDescr<dictiter.dict> -> %r3
 247  getfield_gc_r %r3, FieldDescr<dicttable.entries> -> %r3
 252  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x10081af3f50> -> %r6
 258  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x10081af3d50> -> %r5
 264  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x10081af3f50> -> %r3
 270  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 270  goto_if_not_ptr_nonzero %r3, L19
 274  residual_call_r_i $<* fn _ll_1_gc_identityhash__objectPtr>, R[%r3], <CallDescr(r) EF=3> -> %i0
 281  -live- %r0, %r1, %r2, %r4, %r5, %r6
 281  L20:
 281  inline_call_r_v <JitCode 'setitem__star_2'>, R[%r2, %r6, %r5]
 288  -live- %r0, %r1, %r2, %r4
 288  -live- %r0, %r1, %r2, %r4
 288  guard_class %r1 -> %i0
 291  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
 296  -live- %i0, %r0, %r1, %r2, %r4
 296  switch %i0, <SwitchDictDescr 0:L21, 1:L22, 2:L23>
 300  unreachable
 301  ---
 301  L21:
 301  -live- %r0, %r1, %r2, %r4
 301  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 306  L24:
 306  -live- %r0, %r1, %r2, %r3, %r4
 306  guard_class %r3 -> %i0
 309  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_length> -> %i0
 314  -live- %i0, %r0, %r1, %r2, %r3, %r4
 314  int_guard_value %i0
 316  residual_call_r_i %i0, <IndirectCallTargets>, R[%r3, %r1], <CallDescr(rr) EF=2> -> %i0
 324  -live- %i0, %r0, %r2, %r4
 324  int_sub %i0, $1 -> %i1
 328  -live- %i1, %r0, %r2, %r4
 328  guard_class %r2 -> %i0
 331  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
 336  -live- %i0, %i1, %r0, %r2, %r4
 336  switch %i0, <SwitchDictDescr 0:L25, 1:L26, 2:L27>
 340  unreachable
 341  ---
 341  L25:
 341  -live- %i1, %r0, %r2, %r4
 341  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 346  L28:
 346  -live- %i1, %r0, %r2, %r3, %r4
 346  guard_class %r3 -> %i0
 349  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_prepare_update> -> %i0
 354  -live- %i0, %i1, %r0, %r2, %r3, %r4
 354  int_guard_value %i0
 356  residual_call_ir_v %i0, <IndirectCallTargets>, I[%i1], R[%r3, %r2], <CallDescr(rri) EF=5>
 365  -live- %r0, %r2, %r4
 365  -live- %r0, %r2, %r4
 365  guard_class %r2 -> %i0
 368  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
 373  -live- %i0, %r0, %r2, %r4
 373  switch %i0, <SwitchDictDescr 0:L29, 1:L30, 2:L31>
 377  unreachable
 378  ---
 378  L29:
 378  -live- %r0, %r2, %r4
 378  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 383  L32:
 383  instance_ptr_eq %r3, %r0 -> %i0
 387  -live- %i0, %r2, %r4
 387  goto_if_not %i0, L33
 391  goto L10
 394  ---
 394  L33:
 394  L34:
 394  inline_call_r_i <JitCode '_ll_dictnext_look_inside_iff__dictiterPtr'>, R[%r4] -> %i0
 400  -live- %i0, %r2, %r4
 400  catch_exception L35
 403  getfield_gc_r %r4, FieldDescr<dictiter.dict> -> %r3
 408  getfield_gc_r %r3, FieldDescr<dicttable.entries> -> %r3
 413  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x10081af3f50> -> %r0
 419  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x10081af3d50> -> %r1
 425  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x10081af3f50> -> %r3
 431  -live- %r0, %r1, %r2, %r3, %r4
 431  goto_if_not_ptr_nonzero %r3, L36
 435  residual_call_r_i $<* fn _ll_1_gc_identityhash__objectPtr>, R[%r3], <CallDescr(r) EF=3> -> %i0
 442  -live- %r0, %r1, %r2, %r4
 442  L37:
 442  inline_call_r_v <JitCode 'setitem__star_2'>, R[%r2, %r0, %r1]
 449  -live- %r2, %r4
 449  goto L34
 452  ---
 452  L36:
 452  goto L37
 455  ---
 455  L35:
 455  goto_if_exception_mismatch $<* struct object_vtable>, L38
 459  void_return
 460  ---
 460  L38:
 460  reraise
 461  ---
 461  L30:
 461  -live-
 461  raise $<* struct object>
 463  ---
 463  L31:
 463  -live- %r0, %r2, %r4
 463  -live- %r0, %r2, %r4
 463  record_quasiimmut_field %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 469  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
 474  goto L32
 477  ---
 477  L26:
 477  -live-
 477  raise $<* struct object>
 479  ---
 479  L27:
 479  -live- %i1, %r0, %r2, %r4
 479  -live- %i1, %r0, %r2, %r4
 479  record_quasiimmut_field %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 485  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
 490  goto L28
 493  ---
 493  L22:
 493  -live-
 493  raise $<* struct object>
 495  ---
 495  L23:
 495  -live- %r0, %r1, %r2, %r4
 495  -live- %r0, %r1, %r2, %r4
 495  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 501  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
 506  goto L24
 509  ---
 509  L19:
 509  goto L20
 512  ---
 512  L18:
 512  goto_if_exception_mismatch $<* struct object_vtable>, L39
 516  void_return
 517  ---
 517  L39:
 517  reraise
 518  ---
 518  L2:
 518  -live-
 518  raise $<* struct object>
 520  ---
 520  L3:
 520  -live- %r0, %r1, %r2, %r4
 520  -live- %r0, %r1, %r2, %r4
 520  record_quasiimmut_field %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 526  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
 531  goto L4
