   0  -live- %i0, %i1
   3  goto_if_not_int_is_zero %i0, L1
   7  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
   9  ---
   9  L1:
   9  -live- %i0, %i1
  12  goto_if_not_int_eq %i1, $-1, L2
  17  residual_call_ir_r $<* fn wcharp2utf8>, I[%i0], R[], <CallDescr(i) EF=5> -> %r0
  25  -live- %r0
  28  catch_exception L3
  31  getfield_gc_r_pure %r0, FieldDescr<tuple2.item0> -> %r1
  36  getfield_gc_i_pure %r0, FieldDescr<tuple2.item1> -> %i1
  41  L4:
  41  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab01d47018> -> %r0
  45  setfield_gc_r %r0, %r1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8>
  50  setfield_gc_i %r0, %i1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length>
  55  setfield_gc_r %r0, $<* None>, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__index_storage>
  60  ref_return %r0
  62  ---
  62  L3:
  62  goto_if_exception_mismatch $<* struct object_vtable>, L5
  66  last_exc_value -> %r0
  68  L6:
  68  inline_call_r_v <JitCode 'wrap_unicode_out_of_range_error'>, R[%r0]
  73  -live-
  76  raise $<* struct object>
  78  ---
  78  L5:
  78  reraise
  79  ---
  79  L2:
  79  residual_call_ir_r $<* fn wcharp2utf8n>, I[%i0, %i1], R[], <CallDescr(ii) EF=5> -> %r0
  88  -live- %r0
  91  catch_exception L7
  94  getfield_gc_r_pure %r0, FieldDescr<tuple2.item0> -> %r1
  99  getfield_gc_i_pure %r0, FieldDescr<tuple2.item1> -> %i1
 104  goto L4
 107  ---
 107  L7:
 107  goto_if_exception_mismatch $<* struct object_vtable>, L8
 111  last_exc_value -> %r0
 113  goto L6
 116  ---
 116  L8:
 116  reraise
