   0  -live- %i0, %r0, %r1, %r2
   0  goto_if_not_ptr_iszero %r1, L1
   4  ref_copy $<* struct rpy_string> -> %r1
   7  L2:
   7  -live- %i0, %r0, %r1, %r2
   7  goto_if_not_ptr_nonzero %r2, L3
  11  ref_copy %r2 -> %r3
  14  -live- %i0, %r0, %r1, %r2, %r3
  14  guard_class %r3 -> %i1
  17  -live- %i0, %i1, %r0, %r1, %r2
  17  goto_if_not_int_eq %i1, $<* struct object_vtable>, L4
  22  getfield_gc_i_pure %r2, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval> -> %i1
  27  int_is_true %i1 -> %i1
  30  L5:
  30  -live- %i0, %i1, %r0, %r1
  30  switch %i0, <SwitchDictDescr -1:L6, 0:L7>
  34  ref_copy $<* struct rpy_string> -> %r3
  37  L8:
  37  -live- %i1, %r0, %r1, %r3
  37  goto_if_not %i1, L9
  41  int_copy $True -> %i0
  44  L10:
  44  residual_call_ir_r $<* fn str_decode_utf_16_helper>, I[%i0, $<* fn call_errorhandler>], R[%r0, %r1, %r3, $<* struct rpy_string>], <CallDescr(rriirr) EF=7> -> %r3
  57  -live- %r3
  57  getfield_gc_r_pure %r3, FieldDescr<tuple4.item0> -> %r1
  62  getfield_gc_i_pure %r3, FieldDescr<tuple4.item1> -> %i0
  67  getfield_gc_i_pure %r3, FieldDescr<tuple4.item2> -> %i1
  72  getfield_gc_i_pure %r3, FieldDescr<tuple4.item3> -> %i2
  77  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aac551d398> -> %r3
  81  setfield_gc_r %r3, %r1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8>
  86  setfield_gc_i %r3, %i1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length>
  91  setfield_gc_r %r3, $<* None>, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__index_storage>
  96  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aac55491a0> -> %r1
 100  setfield_gc_i %r1, %i0, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 105  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aac55491a0> -> %r0
 109  setfield_gc_i %r0, %i2, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 114  new_array_clear $3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0> -> %r2
 119  setarrayitem_gc_r %r2, $0, %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0>
 125  setarrayitem_gc_r %r2, $1, %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0>
 131  setarrayitem_gc_r %r2, $2, %r0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0>
 137  inline_call_r_r <JitCode 'makespecialisedtuple'>, R[%r2] -> %r3
 143  -live- %r2, %r3
 143  catch_exception L11
 146  ref_return %r3
 148  ---
 148  L11:
 148  goto_if_exception_mismatch $<* struct object_vtable>, L12
 152  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aac58e10c0> -> %r3
 156  setfield_gc_r %r3, %r2, FieldDescr<pypy.objspace.std.tupleobject.W_TupleObject.inst_wrappeditems>
 161  ref_return %r3
 163  ---
 163  L12:
 163  reraise
 164  ---
 164  L9:
 164  int_copy $False -> %i0
 167  goto L10
 170  ---
 170  L6:
 170  -live- %i1, %r0, %r1
 170  ref_copy $<* struct rpy_string> -> %r3
 173  goto L8
 176  ---
 176  L7:
 176  -live- %i1, %r0, %r1
 176  ref_copy $<* struct rpy_string> -> %r3
 179  goto L8
 182  ---
 182  L4:
 182  L13:
 182  inline_call_r_i <JitCode 'is_true'>, R[%r2] -> %i1
 188  -live- %i0, %i1, %r0, %r1
 188  goto L5
 191  ---
 191  L3:
 191  goto L13
 194  ---
 194  L1:
 194  goto L2
