   0  residual_call_ir_i $<* fn ll_contains__rpy_stringPtr_Char>, I[$'.'], R[%r0], <CallDescr(ri) EF=0> -> %i1
   9  -live- %i0, %i1, %r0, %r1
   9  goto_if_not %i1, L1
  13  int_copy $1 -> %i2
  16  int_copy $0 -> %i3
  19  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r5
  22  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r6
  25  L2:
  25  strlen %r0 -> %i1
  28  residual_call_ir_i $<* fn ll_find_char__rpy_stringPtr_Char_Signed_Signed>, I[$'.', %i2, %i1], R[%r0], <CallDescr(riii) EF=0> -> %i2
  39  -live- %i0, %i2, %i3, %r0, %r1, %r5, %r6
  39  goto_if_not_int_lt %i2, $0, L3
  44  int_copy %i2 -> %i1
  47  inline_call_r_r <JitCode 'MixedModule.get'>, R[$<* struct pypy.interpreter.mixedmodule.MixedModule>, $<* struct rpy_string>] -> %r3
  54  -live- %i0, %i1, %i3, %r0, %r1, %r3, %r5, %r6
  54  -live- %i0, %i1, %i3, %r0, %r1, %r3, %r5, %r6
  54  goto_if_not_ptr_nonzero %r3, L4
  58  ref_copy %r3 -> %r2
  61  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r3, %r5, %r6
  61  guard_class %r2 -> %i2
  64  getfield_raw_i %i2, FieldDescr<object_vtable.subclassrange_min> -> %i2
  69  int_between $TotalOrderSymbolic('compute_fn'), %i2, $TotalOrderSymbolic('compute_fn') -> %i2
  74  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r3, %r5, %r6
  74  goto_if_not %i2, L5
  78  -live- %i0, %i1, %i3, %r0, %r1, %r3, %r5, %r6
  78  guard_class %r3 -> %i2
  81  getfield_raw_i %i2, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_user_overridden_class> -> %i2
  86  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r3, %r5, %r6
  86  goto_if_not %i2, L6
  90  L7:
  90  -live- %i0, %i1, %i3, %r0, %r1, %r3, %r5, %r6
  90  goto_if_not_ptr_iszero %r0, L8
  94  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r2
  97  L9:
  97  inline_call_r_r <JitCode 'finditem'>, R[%r3, %r2] -> %r2
 104  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r5, %r6
 104  L10:
 104  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r5, %r6
 104  goto_if_not_ptr_iszero %r2, L11
 108  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 110  ---
 110  L11:
 110  inline_call_r_i <JitCode 'W_Root.is_w'>, R[$<* struct pypy.interpreter.baseobjspace.W_Root>, %r2] -> %i2
 117  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r5, %r6
 117  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r5, %r6
 117  goto_if_not %i2, L12
 121  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 123  ---
 123  L12:
 123  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r5, %r6
 123  goto_if_not_int_eq %i3, %i0, L13
 128  ref_copy %r2 -> %r6
 131  L14:
 131  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r5, %r6
 131  goto_if_not_ptr_iszero %r1, L15
 135  L16:
 135  int_add %i3, $1 -> %i3
 139  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r5, %r6
 139  goto_if_not_int_ge %i1, $0, L17
 144  int_add %i1, $1 -> %i2
 148  goto L2
 151  ---
 151  L17:
 151  L18:
 151  -live- %r1, %r2, %r5, %r6
 151  goto_if_not_ptr_iszero %r1, L19
 155  ref_return %r6
 157  ---
 157  L19:
 157  -live- %r1, %r2, %r5
 157  goto_if_not_ptr_iszero %r5, L20
 161  ref_return %r2
 163  ---
 163  L20:
 163  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100dd442560> -> %i1
 168  -live- %i1, %r1, %r2
 168  goto_if_not_int_eq %i1, $1, L21
 173  getarrayitem_gc_r %r1, $0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100dd442560> -> %r3
 179  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000100b369b7f8> -> %r0
 183  setfield_gc_r %r0, $<* struct rpy_string>, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 188  inline_call_r_i <JitCode 'eq_w'>, R[%r3, %r0] -> %i1
 195  -live- %i1, %r1, %r2
 195  -live- %i1, %r1, %r2
 195  goto_if_not %i1, L22
 199  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000100b369b7f8> -> %r3
 203  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 208  inline_call_r_r <JitCode 'getattr'>, R[%r2, %r3] -> %r3
 215  -live- %r2, %r3
 215  catch_exception L23
 218  -live- %r2, %r3
 218  goto_if_not_ptr_iszero %r3, L24
 222  L25:
 222  new_array_clear $0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100dd442560> -> %r1
 227  int_copy $0 -> %i0
 230  L26:
 230  arraylen_gc %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100dd442560> -> %i1
 235  -live- %i0, %i1, %r1, %r2
 235  goto_if_not_int_ge %i0, %i1, L27
 240  ref_return %r2
 242  ---
 242  L27:
 242  int_copy %i0 -> %i1
 245  ref_copy %r1 -> %r3
 248  int_add %i1, $1 -> %i0
 252  getarrayitem_gc_r %r3, %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000100dd442560> -> %r3
 258  inline_call_r_r <JitCode 'getattr'>, R[%r2, %r3] -> %r3
 265  -live- %i0, %r1, %r2, %r3
 265  catch_exception L28
 268  -live- %i0, %r1, %r2, %r3
 268  goto_if_not_ptr_iszero %r3, L29
 272  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 274  ---
 274  L29:
 274  goto L26
 277  ---
 277  L28:
 277  goto_if_exception_mismatch $<* struct object_vtable>, L30
 281  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 283  ---
 283  L30:
 283  reraise
 284  ---
 284  L24:
 284  inline_call_ir_r <JitCode 'fixedview__False'>, I[$-1, $False], R[%r3] -> %r1
 293  -live- %r1, %r2
 293  int_copy $0 -> %i0
 296  goto L26
 299  ---
 299  L23:
 299  goto_if_exception_mismatch $<* struct object_vtable>, L31
 303  goto L25
 306  ---
 306  L31:
 306  reraise
 307  ---
 307  L22:
 307  int_copy $0 -> %i0
 310  goto L26
 313  ---
 313  L21:
 313  int_copy $0 -> %i0
 316  goto L26
 319  ---
 319  L15:
 319  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000100b369b7f8> -> %r3
 323  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 328  inline_call_r_r <JitCode 'getattr'>, R[%r2, %r3] -> %r5
 335  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r5, %r6
 335  catch_exception L32
 338  goto L16
 341  ---
 341  L32:
 341  goto_if_exception_mismatch $<* struct object_vtable>, L33
 345  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r5
 348  goto L16
 351  ---
 351  L33:
 351  reraise
 352  ---
 352  L13:
 352  goto L14
 355  ---
 355  L8:
 355  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000100b369b7f8> -> %r2
 359  setfield_gc_r %r2, %r0, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 364  goto L9
 367  ---
 367  L6:
 367  -live- %i0, %i1, %i3, %r0, %r1, %r3, %r5, %r6
 367  guard_class %r3 -> %i2
 370  getfield_raw_i %i2, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i2
 375  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r3, %r5, %r6
 375  switch %i2, <SwitchDictDescr 0:L34, 1:L35, 2:L36>
 379  unreachable
 380  ---
 380  L34:
 380  -live- %i0, %i1, %i3, %r0, %r1, %r3, %r5, %r6
 380  -live- %i0, %i1, %i3, %r0, %r1, %r3, %r5, %r6
 380  record_quasiimmut_field %r3, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 386  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r2
 391  L37:
 391  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r3, %r5, %r6
 391  guard_class %r2 -> %i2
 394  getfield_raw_i %i2, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_getitem_str> -> %i2
 399  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r5, %r6
 399  int_guard_value %i2
 401  residual_call_r_r %i2, <IndirectCallTargets>, R[%r2, %r3, %r0], <CallDescr(rrr) EF=7> -> %r2
 410  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r5, %r6
 410  goto L10
 413  ---
 413  L35:
 413  -live- %i0, %i1, %i3, %r0, %r1, %r3, %r5, %r6
 413  getfield_gc_r %r3, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r2
 418  goto L37
 421  ---
 421  L36:
 421  -live-
 421  raise $<* struct object>
 423  ---
 423  L5:
 423  goto L7
 426  ---
 426  L4:
 426  goto L7
 429  ---
 429  L3:
 429  strlen %r0 -> %i1
 432  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r5, %r6
 432  goto_if_not_int_gt %i2, %i1, L38
 437  int_copy %i2 -> %i1
 440  strlen %r0 -> %i2
 443  L39:
 443  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[$0, %i2], R[%r0], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r4
 453  -live- %i0, %i1, %i3, %r0, %r1, %r4, %r5, %r6
 453  inline_call_r_r <JitCode 'MixedModule.get'>, R[$<* struct pypy.interpreter.mixedmodule.MixedModule>, $<* struct rpy_string>] -> %r3
 460  -live- %i0, %i1, %i3, %r0, %r1, %r3, %r4, %r5, %r6
 460  -live- %i0, %i1, %i3, %r0, %r1, %r3, %r4, %r5, %r6
 460  goto_if_not_ptr_nonzero %r3, L40
 464  ref_copy %r3 -> %r2
 467  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 467  guard_class %r2 -> %i2
 470  getfield_raw_i %i2, FieldDescr<object_vtable.subclassrange_min> -> %i2
 475  int_between $TotalOrderSymbolic('compute_fn'), %i2, $TotalOrderSymbolic('compute_fn') -> %i2
 480  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r3, %r4, %r5, %r6
 480  goto_if_not %i2, L41
 484  -live- %i0, %i1, %i3, %r0, %r1, %r3, %r4, %r5, %r6
 484  guard_class %r3 -> %i2
 487  getfield_raw_i %i2, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_user_overridden_class> -> %i2
 492  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r3, %r4, %r5, %r6
 492  goto_if_not %i2, L42
 496  L43:
 496  -live- %i0, %i1, %i3, %r0, %r1, %r3, %r4, %r5, %r6
 496  goto_if_not_ptr_iszero %r4, L44
 500  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r2
 503  L45:
 503  inline_call_r_r <JitCode 'finditem'>, R[%r3, %r2] -> %r2
 510  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r5, %r6
 510  goto L10
 513  ---
 513  L44:
 513  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000100b369b7f8> -> %r2
 517  setfield_gc_r %r2, %r4, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 522  goto L45
 525  ---
 525  L42:
 525  -live- %i0, %i1, %i3, %r0, %r1, %r3, %r4, %r5, %r6
 525  guard_class %r3 -> %i2
 528  getfield_raw_i %i2, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i2
 533  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r3, %r4, %r5, %r6
 533  switch %i2, <SwitchDictDescr 0:L46, 1:L47, 2:L48>
 537  unreachable
 538  ---
 538  L46:
 538  -live- %i0, %i1, %i3, %r0, %r1, %r3, %r4, %r5, %r6
 538  -live- %i0, %i1, %i3, %r0, %r1, %r3, %r4, %r5, %r6
 538  record_quasiimmut_field %r3, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 544  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r2
 549  L49:
 549  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 549  guard_class %r2 -> %i2
 552  getfield_raw_i %i2, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_getitem_str> -> %i2
 557  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 557  int_guard_value %i2
 559  residual_call_r_r %i2, <IndirectCallTargets>, R[%r2, %r3, %r4], <CallDescr(rrr) EF=7> -> %r2
 568  -live- %i0, %i1, %i3, %r0, %r1, %r2, %r5, %r6
 568  goto L10
 571  ---
 571  L47:
 571  -live- %i0, %i1, %i3, %r0, %r1, %r3, %r4, %r5, %r6
 571  getfield_gc_r %r3, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r2
 576  goto L49
 579  ---
 579  L48:
 579  -live-
 579  raise $<* struct object>
 581  ---
 581  L41:
 581  goto L43
 584  ---
 584  L40:
 584  goto L43
 587  ---
 587  L38:
 587  int_copy %i2 -> %i1
 590  goto L39
 593  ---
 593  L1:
 593  inline_call_r_r <JitCode 'MixedModule.get'>, R[$<* struct pypy.interpreter.mixedmodule.MixedModule>, $<* struct rpy_string>] -> %r3
 600  -live- %r0, %r1, %r3
 600  -live- %r0, %r1, %r3
 600  goto_if_not_ptr_nonzero %r3, L50
 604  ref_copy %r3 -> %r2
 607  -live- %r0, %r1, %r2, %r3
 607  guard_class %r2 -> %i1
 610  getfield_raw_i %i1, FieldDescr<object_vtable.subclassrange_min> -> %i1
 615  int_between $TotalOrderSymbolic('compute_fn'), %i1, $TotalOrderSymbolic('compute_fn') -> %i1
 620  -live- %i1, %r0, %r1, %r3
 620  goto_if_not %i1, L51
 624  -live- %r0, %r1, %r3
 624  guard_class %r3 -> %i1
 627  getfield_raw_i %i1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_user_overridden_class> -> %i1
 632  -live- %i1, %r0, %r1, %r3
 632  goto_if_not %i1, L52
 636  L53:
 636  -live- %r0, %r1, %r3
 636  goto_if_not_ptr_iszero %r0, L54
 640  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r2
 643  L55:
 643  inline_call_r_r <JitCode 'finditem'>, R[%r3, %r2] -> %r2
 650  -live- %r1, %r2
 650  L56:
 650  -live- %r1, %r2
 650  goto_if_not_ptr_iszero %r1, L57
 654  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r5
 657  ref_copy %r2 -> %r6
 660  goto L18
 663  ---
 663  L57:
 663  -live- %r1, %r2
 663  goto_if_not_ptr_iszero %r2, L58
 667  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r5
 670  ref_copy %r2 -> %r6
 673  goto L18
 676  ---
 676  L58:
 676  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000100b369b7f8> -> %r3
 680  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 685  inline_call_r_r <JitCode 'getattr'>, R[%r2, %r3] -> %r5
 692  -live- %r1, %r2, %r5
 692  catch_exception L59
 695  ref_copy %r2 -> %r6
 698  goto L18
 701  ---
 701  L59:
 701  goto_if_exception_mismatch $<* struct object_vtable>, L60
 705  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r5
 708  ref_copy %r2 -> %r6
 711  goto L18
 714  ---
 714  L60:
 714  reraise
 715  ---
 715  L54:
 715  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000100b369b7f8> -> %r2
 719  setfield_gc_r %r2, %r0, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 724  goto L55
 727  ---
 727  L52:
 727  -live- %r0, %r1, %r3
 727  guard_class %r3 -> %i1
 730  getfield_raw_i %i1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i1
 735  -live- %i1, %r0, %r1, %r3
 735  switch %i1, <SwitchDictDescr 0:L61, 1:L62, 2:L63>
 739  unreachable
 740  ---
 740  L61:
 740  -live- %r0, %r1, %r3
 740  -live- %r0, %r1, %r3
 740  record_quasiimmut_field %r3, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 746  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r2
 751  L64:
 751  -live- %r0, %r1, %r2, %r3
 751  guard_class %r2 -> %i1
 754  getfield_raw_i %i1, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_getitem_str> -> %i1
 759  -live- %i1, %r0, %r1, %r2, %r3
 759  int_guard_value %i1
 761  residual_call_r_r %i1, <IndirectCallTargets>, R[%r2, %r3, %r0], <CallDescr(rrr) EF=7> -> %r2
 770  -live- %r1, %r2
 770  goto L56
 773  ---
 773  L62:
 773  -live- %r0, %r1, %r3
 773  getfield_gc_r %r3, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r2
 778  goto L64
 781  ---
 781  L63:
 781  -live-
 781  raise $<* struct object>
 783  ---
 783  L51:
 783  goto L53
 786  ---
 786  L50:
 786  goto L53
