   0  -live- %i0, %r0, %r1, %r2
   0  goto_if_not_ptr_nonzero %r2, L1
   4  ref_copy %r2 -> %r3
   7  -live- %i0, %r0, %r1, %r2, %r3
   7  guard_class %r3 -> %i1
  10  -live- %i0, %i1, %r0, %r1, %r2
  10  goto_if_not_int_eq %i1, $<* struct object_vtable>, L2
  15  getfield_gc_i_pure %r2, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval> -> %i1
  20  int_is_true %i1 -> %i1
  23  L3:
  23  -live- %i0, %i1, %r0, %r1
  23  switch %i0, <SwitchDictDescr -1:L4, 0:L5>
  27  ref_copy $<* struct rpy_string> -> %r3
  30  L6:
  30  -live- %i1, %r0, %r1, %r3
  30  goto_if_not %i1, L7
  34  int_copy $True -> %i0
  37  L8:
  37  residual_call_ir_r $<* fn str_decode_utf_32_helper>, I[%i0, $True], R[%r0, %r1, %r3, $<* struct rpy_string>], <CallDescr(rrirri) EF=7> -> %r3
  50  -live- %r3
  50  getfield_gc_r_pure %r3, FieldDescr<tuple4.item0> -> %r1
  55  getfield_gc_i_pure %r3, FieldDescr<tuple4.item1> -> %i0
  60  getfield_gc_i_pure %r3, FieldDescr<tuple4.item2> -> %i1
  65  getfield_gc_i_pure %r3, FieldDescr<tuple4.item3> -> %i2
  70  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aac551d398> -> %r3
  74  setfield_gc_r %r3, %r1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8>
  79  setfield_gc_i %r3, %i1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length>
  84  setfield_gc_r %r3, $<* None>, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__index_storage>
  89  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aac55491a0> -> %r1
  93  setfield_gc_i %r1, %i0, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
  98  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aac55491a0> -> %r0
 102  setfield_gc_i %r0, %i2, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 107  new_array_clear $3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0> -> %r2
 112  setarrayitem_gc_r %r2, $0, %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0>
 118  setarrayitem_gc_r %r2, $1, %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0>
 124  setarrayitem_gc_r %r2, $2, %r0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0>
 130  inline_call_r_r <JitCode 'makespecialisedtuple'>, R[%r2] -> %r3
 136  -live- %r2, %r3
 136  catch_exception L9
 139  ref_return %r3
 141  ---
 141  L9:
 141  goto_if_exception_mismatch $<* struct object_vtable>, L10
 145  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aac58e10c0> -> %r3
 149  setfield_gc_r %r3, %r2, FieldDescr<pypy.objspace.std.tupleobject.W_TupleObject.inst_wrappeditems>
 154  ref_return %r3
 156  ---
 156  L10:
 156  reraise
 157  ---
 157  L7:
 157  int_copy $False -> %i0
 160  goto L8
 163  ---
 163  L4:
 163  -live- %i1, %r0, %r1
 163  ref_copy $<* struct rpy_string> -> %r3
 166  goto L6
 169  ---
 169  L5:
 169  -live- %i1, %r0, %r1
 169  ref_copy $<* struct rpy_string> -> %r3
 172  goto L6
 175  ---
 175  L2:
 175  L11:
 175  inline_call_r_i <JitCode 'is_true'>, R[%r2] -> %i1
 181  -live- %i0, %i1, %r0, %r1
 181  goto L3
 184  ---
 184  L1:
 184  goto L11
