   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> -> %r2
  27  inline_call_r_r <JitCode 'W_Root.getrepr'>, R[%r0, %r2, %r1] -> %r2
  35  -live- %r2
  35  ref_return %r2
  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> -> %r1
  64  -live- %r0, %r1, %r2
  64  inline_call_r_r <JitCode 'W_TypeObject.getname'>, R[%r1] -> %r1
  70  -live- %r0, %r1, %r2
  70  -live- %r0, %r1, %r2
  70  guard_class %r2 -> %i0
  73  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getname> -> %i0
  78  -live- %i0, %r0, %r1, %r2
  78  switch %i0, <SwitchDictDescr 0:L3, 1:L4>
  82  unreachable
  83  ---
  83  L3:
  83  -live- %r0, %r1, %r2
  83  inline_call_r_r <JitCode 'W_TypeObject.getname'>, R[%r2] -> %r2
  89  -live- %r0, %r1, %r2
  89  L5:
  89  strlen %r2 -> %i0
  92  -live- %i0, %r0, %r1, %r2
  92  goto_if_not_int_is_true %i0, L6
  96  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
 104  -live- %i0, %r0, %r1, %r2
 104  goto_if_not_int_is_zero %i0, L7
 108  new_array_clear $5, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7fff47644aa0> -> %r3
 113  setarrayitem_gc_r %r3, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7fff47644aa0>
 119  -live- %r0, %r1, %r2, %r3
 119  goto_if_not_ptr_nonzero %r1, L8
 123  L9:
 123  setarrayitem_gc_r %r3, $1, %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7fff47644aa0>
 129  setarrayitem_gc_r %r3, $2, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7fff47644aa0>
 135  -live- %r0, %r2, %r3
 135  goto_if_not_ptr_nonzero %r2, L10
 139  L11:
 139  setarrayitem_gc_r %r3, $3, %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7fff47644aa0>
 145  setarrayitem_gc_r %r3, $4, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7fff47644aa0>
 151  ref_isvirtual %r3 -> %i0
 154  -live- %i0, %r0, %r3
 154  goto_if_not %i0, L12
 158  inline_call_ir_r <JitCode 'll_join_strs__v1089___simple_call__function_'>, I[$5], R[%r3] -> %r1
 166  -live- %r0, %r1
 166  goto L2
 169  ---
 169  L12:
 169  int_isconstant $5 -> %i0
 172  -live- %i0, %r0, %r3
 172  goto_if_not %i0, L13
 176  L14:
 176  residual_call_ir_r $<* fn ll_join_strs_trampoline__v1094___simple_call__function_>, I[$5], R[%r3], <CallDescr(ir) EF=5> -> %r1
 185  -live- %r0, %r1
 185  goto L2
 188  ---
 188  L13:
 188  goto L14
 191  ---
 191  L10:
 191  ref_copy $<* struct rpy_string> -> %r2
 194  goto L11
 197  ---
 197  L8:
 197  ref_copy $<* struct rpy_string> -> %r1
 200  goto L9
 203  ---
 203  L7:
 203  L15:
 203  new_array_clear $3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7fff47644aa0> -> %r2
 208  setarrayitem_gc_r %r2, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7fff47644aa0>
 214  -live- %r0, %r1, %r2
 214  goto_if_not_ptr_nonzero %r1, L16
 218  L17:
 218  setarrayitem_gc_r %r2, $1, %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7fff47644aa0>
 224  setarrayitem_gc_r %r2, $2, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7fff47644aa0>
 230  ref_isvirtual %r2 -> %i0
 233  -live- %i0, %r0, %r2
 233  goto_if_not %i0, L18
 237  inline_call_ir_r <JitCode 'll_join_strs__v1089___simple_call__function_'>, I[$3], R[%r2] -> %r1
 245  -live- %r0, %r1
 245  goto L2
 248  ---
 248  L18:
 248  int_isconstant $3 -> %i0
 251  -live- %i0, %r0, %r2
 251  goto_if_not %i0, L19
 255  L20:
 255  residual_call_ir_r $<* fn ll_join_strs_trampoline__v1094___simple_call__function_>, I[$3], R[%r2], <CallDescr(ir) EF=5> -> %r1
 264  -live- %r0, %r1
 264  goto L2
 267  ---
 267  L19:
 267  goto L20
 270  ---
 270  L16:
 270  ref_copy $<* struct rpy_string> -> %r1
 273  goto L17
 276  ---
 276  L6:
 276  goto L15
 279  ---
 279  L4:
 279  -live- %r0, %r1, %r2
 279  inline_call_r_r <JitCode 'W_Root.getname'>, R[%r2] -> %r2
 285  -live- %r0, %r1, %r2
 285  goto L5
