   0  -live- %r0, %r1, %r2
   3  goto_if_not_ptr_iszero %r1, L1
   7  ref_copy $<* struct rpy_string> -> %r1
  10  L2:
  10  -live- %r0, %r1, %r2
  13  goto_if_not_ptr_nonzero %r2, L3
  17  ref_copy %r2 -> %r3
  20  -live- %r0, %r1, %r2, %r3
  23  guard_class %r3 -> %i0
  26  -live- %i0, %r0, %r1, %r2
  29  goto_if_not_int_eq %i0, $<* struct object_vtable>, L4
  34  getfield_gc_i_pure %r2, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval> -> %i0
  39  int_is_true %i0 -> %i0
  42  L5:
  42  residual_call_ir_r $<* fn str_decode_utf_32_helper>, I[%i0, $True], R[%r0, %r1, $<* struct rpy_string>, $<* struct rpy_string>], <CallDescr(rrirri) EF=7> -> %r3
  55  -live- %r3
  58  getfield_gc_r_pure %r3, FieldDescr<tuple4.item0> -> %r2
  63  getfield_gc_i_pure %r3, FieldDescr<tuple4.item1> -> %i0
  68  getfield_gc_i_pure %r3, FieldDescr<tuple4.item2> -> %i1
  73  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab0cba5088> -> %r3
  77  setfield_gc_r %r3, %r2, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8>
  82  setfield_gc_i %r3, %i1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length>
  87  setfield_gc_r %r3, $<* None>, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__index_storage>
  92  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab0ce2a138> -> %r2
  96  setfield_gc_i %r2, %i0, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 101  inline_call_r_r <JitCode 'wraptuple2'>, R[%r3, %r2] -> %r3
 108  -live- %r3
 111  ref_return %r3
 113  ---
 113  L4:
 113  L6:
 113  inline_call_r_i <JitCode 'is_true'>, R[%r2] -> %i0
 119  -live- %i0, %r0, %r1
 122  goto L5
 125  ---
 125  L3:
 125  goto L6
 128  ---
 128  L1:
 128  goto L2
