   0  residual_call_r_r $<* fn W_WeakrefBase.dereference>, R[%r0], <CallDescr(r) EF=2> -> %r2
   7  -live- %r0, %r2
   7  goto_if_not_ptr_iszero %r2, L1
  11  ref_copy $<* struct rpy_string> -> %r1
  14  L2:
  14  -live- %r0, %r1
  14  guard_class %r0 -> %i0
  17  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_typedef> -> %i0
  22  getfield_raw_r %i0, FieldDescr<pbc.pbc_name> -> %r3
  27  inline_call_r_r <JitCode 'W_Root.getrepr'>, R[%r0, %r3, %r1] -> %r3
  35  -live- %r3
  35  ref_return %r3
  37  ---
  37  L1:
  37  -live- %r0, %r2
  37  guard_class %r2 -> %i0
  40  -live- %i0, %r0, %r2
  40  int_guard_value %i0
  42  -live- %r0, %r2
  42  guard_class %r2 -> %i0
  45  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i0
  50  getfield_raw_i %i0, FieldDescr<specfunc.variant0> -> %i0
  55  -live- %i0, %r0, %r2
  55  int_guard_value %i0
  57  residual_call_r_r %i0, <IndirectCallTargets>, R[%r2], <CallDescr(r) EF=2> -> %r3
  64  -live- %r0, %r2, %r3
  64  getfield_gc_i_pure %r3, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst_flag_heaptype> -> %i0
  69  -live- %i0, %r0, %r2, %r3
  69  goto_if_not_int_is_true %i0, L3
  73  -live- %r0, %r2, %r3
  73  record_quasiimmut_field %r3, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst_name>, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.mutate_name>
  79  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst_name> -> %r1
  84  L4:
  84  -live- %r0, %r1, %r2
  84  guard_class %r2 -> %i0
  87  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getname> -> %i0
  92  -live- %i0, %r0, %r1, %r2
  92  switch %i0, <SwitchDictDescr 0:L5, 1:L6>
  96  unreachable
  97  ---
  97  L5:
  97  -live- %r0, %r1, %r2
  97  getfield_gc_i_pure %r2, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst_flag_heaptype> -> %i0
 102  -live- %i0, %r0, %r1, %r2
 102  goto_if_not_int_is_true %i0, L7
 106  -live- %r0, %r1, %r2
 106  record_quasiimmut_field %r2, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst_name>, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.mutate_name>
 112  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst_name> -> %r2
 117  L8:
 117  strlen %r2 -> %i0
 120  -live- %i0, %r0, %r1, %r2
 120  goto_if_not_int_is_true %i0, L9
 124  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
 132  -live- %i0, %r0, %r1, %r2
 132  goto_if_not_int_is_zero %i0, L10
 136  new_array_clear $5, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000010095349868> -> %r3
 141  setarrayitem_gc_r %r3, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000010095349868>
 147  -live- %r0, %r1, %r2, %r3
 147  goto_if_not_ptr_nonzero %r1, L11
 151  L12:
 151  setarrayitem_gc_r %r3, $1, %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000010095349868>
 157  setarrayitem_gc_r %r3, $2, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000010095349868>
 163  -live- %r0, %r2, %r3
 163  goto_if_not_ptr_nonzero %r2, L13
 167  L14:
 167  setarrayitem_gc_r %r3, $3, %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000010095349868>
 173  setarrayitem_gc_r %r3, $4, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000010095349868>
 179  ref_isvirtual %r3 -> %i0
 182  -live- %i0, %r0, %r3
 182  goto_if_not %i0, L15
 186  inline_call_ir_r <JitCode 'll_join_strs__v1095___simple_call__function_'>, I[$5], R[%r3] -> %r1
 194  -live- %r0, %r1
 194  goto L2
 197  ---
 197  L15:
 197  int_isconstant $5 -> %i0
 200  -live- %i0, %r0, %r3
 200  goto_if_not %i0, L16
 204  L17:
 204  residual_call_ir_r $<* fn ll_join_strs_trampoline__v1091___simple_call__function_>, I[$5], R[%r3], <CallDescr(ir) EF=5> -> %r1
 213  -live- %r0, %r1
 213  goto L2
 216  ---
 216  L16:
 216  goto L17
 219  ---
 219  L13:
 219  ref_copy $<* struct rpy_string> -> %r2
 222  goto L14
 225  ---
 225  L11:
 225  ref_copy $<* struct rpy_string> -> %r1
 228  goto L12
 231  ---
 231  L10:
 231  L18:
 231  new_array_clear $3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000010095349868> -> %r3
 236  setarrayitem_gc_r %r3, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000010095349868>
 242  -live- %r0, %r1, %r3
 242  goto_if_not_ptr_nonzero %r1, L19
 246  L20:
 246  setarrayitem_gc_r %r3, $1, %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000010095349868>
 252  setarrayitem_gc_r %r3, $2, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000010095349868>
 258  ref_isvirtual %r3 -> %i0
 261  -live- %i0, %r0, %r3
 261  goto_if_not %i0, L21
 265  inline_call_ir_r <JitCode 'll_join_strs__v1095___simple_call__function_'>, I[$3], R[%r3] -> %r1
 273  -live- %r0, %r1
 273  goto L2
 276  ---
 276  L21:
 276  int_isconstant $3 -> %i0
 279  -live- %i0, %r0, %r3
 279  goto_if_not %i0, L22
 283  L23:
 283  residual_call_ir_r $<* fn ll_join_strs_trampoline__v1091___simple_call__function_>, I[$3], R[%r3], <CallDescr(ir) EF=5> -> %r1
 292  -live- %r0, %r1
 292  goto L2
 295  ---
 295  L22:
 295  goto L23
 298  ---
 298  L19:
 298  ref_copy $<* struct rpy_string> -> %r1
 301  goto L20
 304  ---
 304  L9:
 304  goto L18
 307  ---
 307  L7:
 307  -live- %r0, %r1, %r2
 307  record_quasiimmut_field %r2, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst_name>, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.mutate_name>
 313  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst_name> -> %r3
 318  strlen %r3 -> %i0
 321  residual_call_ir_i $<* fn ll_find_char__rpy_stringPtr_Char_Signed_Signed>, I[$'.', $0, %i0], R[%r3], <CallDescr(riii) EF=0> -> %i0
 332  -live- %i0, %r0, %r1, %r2
 332  goto_if_not_int_ge %i0, $0, L24
 337  -live- %i0, %r0, %r1, %r2
 337  record_quasiimmut_field %r2, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst_name>, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.mutate_name>
 343  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst_name> -> %r3
 348  int_add %i0, $1 -> %i0
 352  strlen %r3 -> %i1
 355  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[%i0, %i1], R[%r3], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r2
 365  -live- %r0, %r1, %r2
 365  goto L8
 368  ---
 368  L24:
 368  -live- %r0, %r1, %r2
 368  record_quasiimmut_field %r2, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst_name>, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.mutate_name>
 374  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst_name> -> %r2
 379  goto L8
 382  ---
 382  L6:
 382  -live- %r0, %r1, %r2
 382  inline_call_r_r <JitCode 'W_Root.getname'>, R[%r2] -> %r2
 388  -live- %r0, %r1, %r2
 388  goto L8
 391  ---
 391  L3:
 391  -live- %r0, %r2, %r3
 391  record_quasiimmut_field %r3, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst_name>, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.mutate_name>
 397  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst_name> -> %r1
 402  strlen %r1 -> %i0
 405  residual_call_ir_i $<* fn ll_find_char__rpy_stringPtr_Char_Signed_Signed>, I[$'.', $0, %i0], R[%r1], <CallDescr(riii) EF=0> -> %i0
 416  -live- %i0, %r0, %r2, %r3
 416  goto_if_not_int_ge %i0, $0, L25
 421  -live- %i0, %r0, %r2, %r3
 421  record_quasiimmut_field %r3, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst_name>, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.mutate_name>
 427  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst_name> -> %r3
 432  int_add %i0, $1 -> %i0
 436  strlen %r3 -> %i1
 439  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[%i0, %i1], R[%r3], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r1
 449  -live- %r0, %r1, %r2
 449  goto L4
 452  ---
 452  L25:
 452  -live- %r0, %r2, %r3
 452  record_quasiimmut_field %r3, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst_name>, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.mutate_name>
 458  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst_name> -> %r1
 463  goto L4
