   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_iszero %r2, L3
  17  ref_copy $<* struct pypy.module._codecs.interp_codecs.Charmap_Encode> -> %r3
  20  L4:
  20  inline_call_r_r <JitCode 'convert_arg_to_w_unicode'>, R[%r0, $<* struct rpy_string>] -> %r0
  27  -live- %r0, %r1, %r3
  30  guard_class %r0 -> %i0
  33  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_utf8_w> -> %i0
  38  -live- %i0, %r0, %r1, %r3
  41  switch %i0, <SwitchDictDescr 0:L5, 1:L6, 2:L7>
  45  unreachable
  46  ---
  46  L5:
  46  -live- %r0, %r1, %r3
  49  ref_copy %r0 -> %r4
  52  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i0
  57  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r2
  62  record_known_result_i_ir_v %i0, $<* fn _check_utf8>, I[$True, $0, $-1], R[%r2], <CallDescr(riii) EF=4>
  73  -live- %r0, %r1, %r3, %r4
  76  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r2
  81  L8:
  81  residual_call_r_r $<* fn utf8_encode_charmap>, R[%r2, %r1, %r3], <CallDescr(rrr) EF=7> -> %r2
  90  -live- %r2, %r4
  93  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000000159500988> -> %r0
  97  setfield_gc_r %r0, %r2, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 102  getfield_gc_i_pure %r4, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i0
 107  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000000017d012c98> -> %r2
 111  setfield_gc_i %r2, %i0, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 116  inline_call_r_r <JitCode 'makespecialisedtuple2'>, R[%r0, %r2] -> %r3
 123  -live- %r0, %r2, %r3
 126  catch_exception L9
 129  ref_return %r3
 131  ---
 131  L9:
 131  goto_if_exception_mismatch $<* struct object_vtable>, L10
 135  new_array_clear $2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018156b980> -> %r1
 140  setarrayitem_gc_r %r1, $0, %r0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018156b980>
 146  setarrayitem_gc_r %r1, $1, %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018156b980>
 152  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000000017f7fb750> -> %r3
 156  setfield_gc_r %r3, %r1, FieldDescr<pypy.objspace.std.tupleobject.W_TupleObject.inst_wrappeditems>
 161  ref_return %r3
 163  ---
 163  L10:
 163  reraise
 164  ---
 164  L6:
 164  -live- %r0, %r1, %r3
 167  ref_copy %r0 -> %r4
 170  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value> -> %r2
 175  goto L8
 178  ---
 178  L7:
 178  -live- %r0
 181  inline_call_r_r <JitCode 'oefmt__expected__s__got__T_object_star_2'>, R[$<* struct pypy.objspace.std.typeobject.W_TypeObject>, $<* struct rpy_string>, $<* struct rpy_string>, %r0] -> %r2
 190  -live- %r2
 193  assert_not_none %r2
 195  -live- %r2
 198  guard_class %r2 -> %i0
 201  -live- %r2
 204  raise %r2
 206  ---
 206  L3:
 206  inline_call_r_i <JitCode 'W_Root.is_w'>, R[$<* struct pypy.interpreter.baseobjspace.W_Root>, %r2] -> %i0
 213  -live- %i0, %r0, %r1, %r2
 216  goto_if_not %i0, L11
 220  ref_copy $<* struct pypy.module._codecs.interp_codecs.Charmap_Encode> -> %r3
 223  goto L4
 226  ---
 226  L11:
 226  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000001cf15e4b8> -> %r3
 230  setfield_gc_r %r3, %r2, FieldDescr<pypy.module._codecs.interp_codecs.Charmap_Encode.inst_w_mapping>
 235  goto L4
 238  ---
 238  L1:
 238  goto L2
