   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
  12  goto_if_not %i1, L1
  16  int_copy $0 -> %i2
  19  int_copy $1 -> %i3
  22  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r3
  25  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r4
  28  L2:
  28  strlen %r0 -> %i1
  31  residual_call_ir_i $<* fn ll_find_char__rpy_stringPtr_Char_Signed_Signed>, I[$'.', %i3, %i1], R[%r0], <CallDescr(riii) EF=0> -> %i3
  42  -live- %i0, %i2, %i3, %r0, %r1, %r3, %r4
  45  goto_if_not_int_lt %i3, $0, L3
  50  int_copy %i3 -> %i1
  53  inline_call_r_r <JitCode 'MixedModule.get'>, R[$<* struct pypy.interpreter.mixedmodule.MixedModule>, $<* struct rpy_string>] -> %r2
  60  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4
  63  inline_call_r_r <JitCode 'finditem_str'>, R[%r2, %r0] -> %r2
  70  L4:
  70  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4
  73  goto_if_not_ptr_iszero %r2, L5
  77  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
  79  ---
  79  L5:
  79  inline_call_r_i <JitCode 'W_Root.is_w'>, R[$<* struct pypy.interpreter.baseobjspace.W_Root>, %r2] -> %i3
  86  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4
  89  goto_if_not %i3, L6
  93  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
  95  ---
  95  L6:
  95  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4
  98  goto_if_not_int_eq %i2, %i0, L7
 103  ref_copy %r2 -> %r4
 106  L8:
 106  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4
 109  goto_if_not_ptr_iszero %r1, L9
 113  L10:
 113  int_add %i2, $1 -> %i2
 117  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4
 120  goto_if_not_int_ge %i1, $0, L11
 125  int_add %i1, $1 -> %i3
 129  goto L2
 132  ---
 132  L11:
 132  L12:
 132  -live- %r1, %r2, %r3, %r4
 135  goto_if_not_ptr_iszero %r1, L13
 139  ref_return %r4
 141  ---
 141  L13:
 141  inline_call_r_i <JitCode 'len_w'>, R[%r1] -> %i2
 147  -live- %i2, %r1, %r2, %r3
 150  goto_if_not_ptr_iszero %r3, L14
 154  ref_return %r2
 156  ---
 156  L14:
 156  -live- %i2, %r1, %r2
 159  goto_if_not_int_eq %i2, $1, L15
 164  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab82fac790> -> %r0
 168  setfield_gc_i %r0, $0, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 173  -live- %i2, %r0, %r1, %r2
 176  guard_class %r1 -> %i1
 179  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_shortcut___getitem__> -> %i1
 184  -live- %i1, %i2, %r0, %r1, %r2
 187  int_guard_value %i1
 189  residual_call_r_r %i1, <IndirectCallTargets>, R[%r1, %r0], <CallDescr(rr) EF=7> -> %r0
 197  -live- %i2, %r0, %r1, %r2
 200  inline_call_r_i <JitCode 'eq_w'>, R[%r0, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %i1
 207  -live- %i1, %i2, %r1, %r2
 210  goto_if_not %i1, L16
 214  inline_call_r_r <JitCode 'getattr'>, R[%r2, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %r1
 221  -live- %r1, %r2
 224  catch_exception L17
 227  -live- %r1, %r2
 230  goto_if_not_ptr_iszero %r1, L18
 234  ref_return %r2
 236  ---
 236  L18:
 236  inline_call_r_i <JitCode 'len_w'>, R[%r1] -> %i2
 242  -live- %i2, %r1, %r2
 245  int_copy $0 -> %i0
 248  L19:
 248  -live- %i0, %i2, %r1, %r2
 251  goto_if_not_int_ge %i0, %i2, L20
 256  ref_return %r2
 258  ---
 258  L20:
 258  int_copy %i0 -> %i1
 261  int_add %i1, $1 -> %i0
 265  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab82fac790> -> %r0
 269  setfield_gc_i %r0, %i1, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 274  -live- %i0, %i2, %r0, %r1, %r2
 277  guard_class %r1 -> %i1
 280  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_shortcut___getitem__> -> %i1
 285  -live- %i0, %i1, %i2, %r0, %r1, %r2
 288  int_guard_value %i1
 290  residual_call_r_r %i1, <IndirectCallTargets>, R[%r1, %r0], <CallDescr(rr) EF=7> -> %r3
 298  -live- %i0, %i2, %r1, %r2, %r3
 301  guard_class %r3 -> %i1
 304  getfield_raw_i %i1, FieldDescr<object_vtable.subclassrange_min> -> %i1
 309  int_between $TotalOrderSymbolic('compute_fn'), %i1, $TotalOrderSymbolic('compute_fn') -> %i1
 314  -live- %i0, %i1, %i2, %r1, %r2, %r3
 317  goto_if_not %i1, L21
 321  L22:
 321  inline_call_r_r <JitCode 'getattr'>, R[%r2, %r3] -> %r0
 328  -live- %i0, %i2, %r0, %r1, %r2
 331  catch_exception L23
 334  -live- %i0, %i2, %r0, %r1, %r2
 337  goto_if_not_ptr_iszero %r0, L24
 341  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 343  ---
 343  L24:
 343  goto L19
 346  ---
 346  L23:
 346  goto_if_exception_mismatch $<* struct object_vtable>, L25
 350  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 352  ---
 352  L25:
 352  reraise
 353  ---
 353  L21:
 353  -live- %i0, %i2, %r1, %r2, %r3
 356  guard_class %r3 -> %i1
 359  -live- %i0, %i1, %i2, %r1, %r2, %r3
 362  int_guard_value %i1
 364  -live- %i0, %i2, %r1, %r2, %r3
 367  guard_class %r3 -> %i1
 370  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i1
 375  -live- %i0, %i1, %i2, %r1, %r2, %r3
 378  switch %i1, <SwitchDictDescr 0:L26, 1:L27, 2:L28, 3:L29>
 382  unreachable
 383  ---
 383  L26:
 383  -live- %i0, %i2, %r1, %r2, %r3
 386  guard_class %r3 -> %i1
 389  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls__get_mapdict_map> -> %i1
 394  -live- %i0, %i1, %i2, %r1, %r2, %r3
 397  int_guard_value %i1
 399  residual_call_r_r %i1, <IndirectCallTargets>, R[%r3], <CallDescr(r) EF=2> -> %r0
 406  -live- %i0, %i2, %r0, %r1, %r2, %r3
 409  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r0
 414  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r0
 419  L30:
 419  inline_call_r_i <JitCode 'W_TypeObject.issubtype'>, R[%r0, $<* struct pypy.objspace.std.typeobject.W_TypeObject>] -> %i1
 426  -live- %i0, %i1, %i2, %r1, %r2, %r3
 429  goto_if_not %i1, L31
 433  goto L22
 436  ---
 436  L31:
 436  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab817ef3d0> -> %r2
 440  setfield_gc_r %r2, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 445  setfield_gc_r %r2, $<* struct tuple2>, FieldDescr<pypy.interpreter.error.OpErrFmt.inst_xstrings>
 450  setfield_gc_r %r2, %r3, FieldDescr<pypy.interpreter.error.OpErrFmt.inst_x0>
 455  assert_not_none %r2
 457  -live- %r2
 460  raise %r2
 462  ---
 462  L27:
 462  -live- %i0, %i2, %r1, %r2, %r3
 465  getfield_gc_r %r3, FieldDescr<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable.inst_map> -> %r0
 470  -live- %i0, %i2, %r0, %r1, %r2, %r3
 473  ref_guard_value %r0
 475  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r0
 480  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r0
 485  goto L30
 488  ---
 488  L28:
 488  -live- %i0, %i2, %r1, %r2, %r3
 491  getfield_gc_r %r3, FieldDescr<pypy.objspace.std.proxyobject.W_Transparent.inst_w_type> -> %r0
 496  goto L30
 499  ---
 499  L29:
 499  -live- %i0, %i2, %r1, %r2, %r3
 502  guard_class %r3 -> %i1
 505  getfield_raw_r %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.pbc2internal_memofield_gettypefor_3> -> %r0
 510  goto L30
 513  ---
 513  L17:
 513  goto_if_exception_mismatch $<* struct object_vtable>, L32
 517  ref_return %r2
 519  ---
 519  L32:
 519  reraise
 520  ---
 520  L16:
 520  int_copy $0 -> %i0
 523  goto L19
 526  ---
 526  L15:
 526  int_copy $0 -> %i0
 529  goto L19
 532  ---
 532  L9:
 532  inline_call_r_r <JitCode 'getattr'>, R[%r2, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %r3
 539  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4
 542  catch_exception L33
 545  goto L10
 548  ---
 548  L33:
 548  goto_if_exception_mismatch $<* struct object_vtable>, L34
 552  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r3
 555  goto L10
 558  ---
 558  L34:
 558  reraise
 559  ---
 559  L7:
 559  goto L8
 562  ---
 562  L3:
 562  strlen %r0 -> %i1
 565  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r3, %r4
 568  goto_if_not_int_gt %i3, %i1, L35
 573  int_copy %i3 -> %i1
 576  strlen %r0 -> %i3
 579  L36:
 579  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[$0, %i3], R[%r0], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r2
 589  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4
 592  inline_call_r_r <JitCode 'MixedModule.get'>, R[$<* struct pypy.interpreter.mixedmodule.MixedModule>, $<* struct rpy_string>] -> %r5
 599  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
 602  inline_call_r_r <JitCode 'finditem_str'>, R[%r5, %r2] -> %r2
 609  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4
 612  goto L4
 615  ---
 615  L35:
 615  int_copy %i3 -> %i1
 618  goto L36
 621  ---
 621  L1:
 621  inline_call_r_r <JitCode 'MixedModule.get'>, R[$<* struct pypy.interpreter.mixedmodule.MixedModule>, $<* struct rpy_string>] -> %r2
 628  -live- %r0, %r1, %r2
 631  inline_call_r_r <JitCode 'finditem_str'>, R[%r2, %r0] -> %r2
 638  -live- %r1, %r2
 641  goto_if_not_ptr_iszero %r1, L37
 645  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r3
 648  ref_copy %r2 -> %r4
 651  goto L12
 654  ---
 654  L37:
 654  -live- %r1, %r2
 657  goto_if_not_ptr_iszero %r2, L38
 661  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r3
 664  ref_copy %r2 -> %r4
 667  goto L12
 670  ---
 670  L38:
 670  inline_call_r_r <JitCode 'getattr'>, R[%r2, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %r3
 677  -live- %r1, %r2, %r3
 680  catch_exception L39
 683  ref_copy %r2 -> %r4
 686  goto L12
 689  ---
 689  L39:
 689  goto_if_exception_mismatch $<* struct object_vtable>, L40
 693  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r3
 696  ref_copy %r2 -> %r4
 699  goto L12
 702  ---
 702  L40:
 702  reraise
