   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 0x100b0912250> -> %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  -live- %r0, %r1, %r2, %r4
  41  record_quasiimmut_field %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
  47  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
  52  L4:
  52  instance_ptr_eq %r3, %r0 -> %i0
  56  -live- %i0, %r0, %r1, %r2, %r4
  56  goto_if_not %i0, L5
  60  -live- %r1, %r2, %r4
  60  guard_class %r1 -> %i0
  63  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
  68  -live- %i0, %r1, %r2, %r4
  68  switch %i0, <SwitchDictDescr 0:L6, 1:L7, 2:L8>
  72  unreachable
  73  ---
  73  L6:
  73  -live- %r1, %r2, %r4
  73  -live- %r1, %r2, %r4
  73  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
  79  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
  84  L9:
  84  -live- %r1, %r2, %r3, %r4
  84  guard_class %r3 -> %i0
  87  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_length> -> %i0
  92  -live- %i0, %r1, %r2, %r3, %r4
  92  int_guard_value %i0
  94  residual_call_r_i %i0, <IndirectCallTargets>, R[%r3, %r1], <CallDescr(rr) EF=2> -> %i0
 102  -live- %i0, %r2, %r4
 102  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject.inst_dstorage> -> %r3
 107  inline_call_ir_v <JitCode 'll_prepare_dict_update__dicttablePtr_Signed'>, I[%i0], R[%r3]
 114  -live- %r2, %r4
 114  L10:
 114  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject.inst_dstorage> -> %r3
 119  L11:
 119  inline_call_r_i <JitCode '_ll_dictnext_look_inside_iff__dictiterPtr'>, R[%r4] -> %i0
 125  -live- %i0, %r3, %r4
 125  catch_exception L12
 128  ref_copy %r3 -> %r2
 131  getfield_gc_r %r4, FieldDescr<dictiter.dict> -> %r3
 136  getfield_gc_r %r3, FieldDescr<dicttable.entries> -> %r3
 141  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x100962d5dd0> -> %r0
 147  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x100962f62d0> -> %r1
 153  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x100962d5dd0> -> %r3
 159  -live- %r0, %r1, %r2, %r3, %r4
 159  goto_if_not_ptr_nonzero %r3, L13
 163  residual_call_r_i $<* fn _ll_1_gc_identityhash__objectPtr>, R[%r3], <CallDescr(r) EF=3> -> %i1
 170  -live- %i1, %r0, %r1, %r2, %r4
 170  L14:
 170  ref_copy %r2 -> %r3
 173  ref_isvirtual %r2 -> %i0
 176  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4
 176  goto_if_not %i0, L15
 180  inline_call_ir_i <JitCode 'll_call_lookup_function__v2122___simple_call__function_'>, I[%i1, $1], R[%r2, %r0] -> %i0
 190  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4
 190  L16:
 190  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]
 200  -live- %r3, %r4
 200  goto L11
 203  ---
 203  L15:
 203  residual_call_ir_i $<* fn ll_call_lookup_function_trampoline__v2137___simple_call__function_>, I[%i1, $1], R[%r2, %r0], <CallDescr(rrii) EF=5 OS_DICT_LOOKUP> -> %i0
 214  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4
 214  goto L16
 217  ---
 217  L13:
 217  int_copy $0 -> %i1
 220  goto L14
 223  ---
 223  L12:
 223  goto_if_exception_mismatch $<* struct object_vtable>, L17
 227  void_return
 228  ---
 228  L17:
 228  reraise
 229  ---
 229  L7:
 229  -live- %r1, %r2, %r4
 229  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 234  goto L9
 237  ---
 237  L8:
 237  -live-
 237  raise $<* struct object>
 239  ---
 239  L5:
 239  inline_call_r_i <JitCode '_ll_dictnext_look_inside_iff__dictiterPtr'>, R[%r4] -> %i0
 245  -live- %i0, %r0, %r1, %r2, %r4
 245  catch_exception L18
 248  getfield_gc_r %r4, FieldDescr<dictiter.dict> -> %r3
 253  getfield_gc_r %r3, FieldDescr<dicttable.entries> -> %r3
 258  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x100962d5dd0> -> %r5
 264  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x100962f62d0> -> %r6
 270  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x100962d5dd0> -> %r3
 276  -live- %r0, %r1, %r2, %r3, %r4, %r5, %r6
 276  goto_if_not_ptr_nonzero %r3, L19
 280  residual_call_r_i $<* fn _ll_1_gc_identityhash__objectPtr>, R[%r3], <CallDescr(r) EF=3> -> %i0
 287  -live- %r0, %r1, %r2, %r4, %r5, %r6
 287  L20:
 287  inline_call_r_v <JitCode 'setitem__star_2'>, R[%r2, %r5, %r6]
 294  -live- %r0, %r1, %r2, %r4
 294  -live- %r0, %r1, %r2, %r4
 294  guard_class %r1 -> %i0
 297  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
 302  -live- %i0, %r0, %r1, %r2, %r4
 302  switch %i0, <SwitchDictDescr 0:L21, 1:L22, 2:L23>
 306  unreachable
 307  ---
 307  L21:
 307  -live- %r0, %r1, %r2, %r4
 307  -live- %r0, %r1, %r2, %r4
 307  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 313  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
 318  L24:
 318  -live- %r0, %r1, %r2, %r3, %r4
 318  guard_class %r3 -> %i0
 321  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_length> -> %i0
 326  -live- %i0, %r0, %r1, %r2, %r3, %r4
 326  int_guard_value %i0
 328  residual_call_r_i %i0, <IndirectCallTargets>, R[%r3, %r1], <CallDescr(rr) EF=2> -> %i0
 336  -live- %i0, %r0, %r2, %r4
 336  int_sub %i0, $1 -> %i1
 340  -live- %i1, %r0, %r2, %r4
 340  guard_class %r2 -> %i0
 343  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
 348  -live- %i0, %i1, %r0, %r2, %r4
 348  switch %i0, <SwitchDictDescr 0:L25, 1:L26, 2:L27>
 352  unreachable
 353  ---
 353  L25:
 353  -live- %i1, %r0, %r2, %r4
 353  -live- %i1, %r0, %r2, %r4
 353  record_quasiimmut_field %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 359  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
 364  L28:
 364  -live- %i1, %r0, %r2, %r3, %r4
 364  guard_class %r3 -> %i0
 367  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_prepare_update> -> %i0
 372  -live- %i0, %i1, %r0, %r2, %r3, %r4
 372  int_guard_value %i0
 374  residual_call_ir_v %i0, <IndirectCallTargets>, I[%i1], R[%r3, %r2], <CallDescr(rri) EF=5>
 383  -live- %r0, %r2, %r4
 383  -live- %r0, %r2, %r4
 383  guard_class %r2 -> %i0
 386  getfield_raw_i %i0, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i0
 391  -live- %i0, %r0, %r2, %r4
 391  switch %i0, <SwitchDictDescr 0:L29, 1:L30, 2:L31>
 395  unreachable
 396  ---
 396  L29:
 396  -live- %r0, %r2, %r4
 396  -live- %r0, %r2, %r4
 396  record_quasiimmut_field %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 402  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
 407  L32:
 407  instance_ptr_eq %r3, %r0 -> %i0
 411  -live- %i0, %r2, %r4
 411  goto_if_not %i0, L33
 415  goto L10
 418  ---
 418  L33:
 418  L34:
 418  inline_call_r_i <JitCode '_ll_dictnext_look_inside_iff__dictiterPtr'>, R[%r4] -> %i0
 424  -live- %i0, %r2, %r4
 424  catch_exception L35
 427  getfield_gc_r %r4, FieldDescr<dictiter.dict> -> %r3
 432  getfield_gc_r %r3, FieldDescr<dicttable.entries> -> %r3
 437  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x100962d5dd0> -> %r0
 443  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x100962f62d0> -> %r1
 449  getinteriorfield_gc_r %r3, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x100962d5dd0> -> %r3
 455  -live- %r0, %r1, %r2, %r3, %r4
 455  goto_if_not_ptr_nonzero %r3, L36
 459  residual_call_r_i $<* fn _ll_1_gc_identityhash__objectPtr>, R[%r3], <CallDescr(r) EF=3> -> %i0
 466  -live- %r0, %r1, %r2, %r4
 466  L37:
 466  inline_call_r_v <JitCode 'setitem__star_2'>, R[%r2, %r0, %r1]
 473  -live- %r2, %r4
 473  goto L34
 476  ---
 476  L36:
 476  goto L37
 479  ---
 479  L35:
 479  goto_if_exception_mismatch $<* struct object_vtable>, L38
 483  void_return
 484  ---
 484  L38:
 484  reraise
 485  ---
 485  L30:
 485  -live- %r0, %r2, %r4
 485  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 490  goto L32
 493  ---
 493  L31:
 493  -live-
 493  raise $<* struct object>
 495  ---
 495  L26:
 495  -live- %i1, %r0, %r2, %r4
 495  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 500  goto L28
 503  ---
 503  L27:
 503  -live-
 503  raise $<* struct object>
 505  ---
 505  L22:
 505  -live- %r0, %r1, %r2, %r4
 505  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 510  goto L24
 513  ---
 513  L23:
 513  -live-
 513  raise $<* struct object>
 515  ---
 515  L19:
 515  goto L20
 518  ---
 518  L18:
 518  goto_if_exception_mismatch $<* struct object_vtable>, L39
 522  void_return
 523  ---
 523  L39:
 523  reraise
 524  ---
 524  L2:
 524  -live- %r0, %r1, %r2, %r4
 524  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 529  goto L4
 532  ---
 532  L3:
 532  -live-
 532  raise $<* struct object>
