   0  inline_call_r_r <JitCode 'W_StringIO._decode_string'>, R[%r0, %r1] -> %r3
   7  -live- %r0, %r1, %r3
   7  -live- %r0, %r1, %r3
   7  guard_class %r3 -> %i0
  10  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_utf8_w> -> %i0
  15  -live- %i0, %r0, %r1, %r3
  15  switch %i0, <SwitchDictDescr 0:L1, 1:L2, 2:L3>
  19  unreachable
  20  ---
  20  L1:
  20  -live- %r0, %r1, %r3
  20  ref_copy %r3 -> %r2
  23  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r3
  28  L4:
  28  inline_call_r_r <JitCode '_len'>, R[%r1] -> %r1
  34  -live- %r0, %r1, %r2, %r3
  34  -live- %r0, %r1, %r2, %r3
  34  guard_class %r1 -> %i0
  37  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_int> -> %i0
  42  -live- %i0, %r0, %r1, %r2, %r3
  42  int_guard_value %i0
  44  residual_call_r_r %i0, <IndirectCallTargets>, R[%r1], <CallDescr(r) EF=7> -> %r1
  51  -live- %r0, %r1, %r2, %r3
  51  inline_call_r_i <JitCode '_check_len_result'>, R[%r1] -> %i1
  57  -live- %i1, %r0, %r2, %r3
  57  strlen %r3 -> %i0
  60  -live- %i0, %i1, %r0, %r2, %r3
  60  goto_if_not_int_is_true %i0, L5
  64  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_state> -> %i0
  69  -live- %i0, %i1, %r0, %r2, %r3
  69  switch %i0, <SwitchDictDescr 0:L6, 1:L7>
  73  L8:
  73  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_state> -> %i0
  78  -live- %i0, %i1, %r0, %r2, %r3
  78  goto_if_not_int_eq %i0, $1, L9
  83  getfield_gc_i %r2, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i2
  88  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_builder> -> %r1
  93  getfield_gc_r %r1, FieldDescr<rpython.rlib.rutf8.Utf8StringBuilder.inst__s> -> %r2
  98  inline_call_r_v <JitCode 'll_jit_append__stringbuilderPtr_rpy_stringPtr'>, R[%r2, %r3]
 104  -live- %i1, %i2, %r0, %r1
 104  getfield_gc_i %r1, FieldDescr<rpython.rlib.rutf8.Utf8StringBuilder.inst__lgt> -> %i0
 109  int_add %i0, %i2 -> %i0
 113  setfield_gc_i %r1, %i0, FieldDescr<rpython.rlib.rutf8.Utf8StringBuilder.inst__lgt>
 118  L10:
 118  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_pos> -> %i0
 123  int_add %i0, %i2 -> %i0
 127  setfield_gc_i %r0, %i0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_pos>
 132  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aac55491a0> -> %r3
 136  setfield_gc_i %r3, %i1, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 141  ref_return %r3
 143  ---
 143  L9:
 143  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_buf> -> %r2
 148  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_pos> -> %i0
 153  residual_call_ir_i $<* fn UnicodeIO.write>, I[%i0], R[%r2, %r3], <CallDescr(rri) EF=5> -> %i2
 163  -live- %i1, %i2, %r0
 163  goto L10
 166  ---
 166  L6:
 166  -live- %i0, %i1, %r0, %r2, %r3
 166  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_pos> -> %i2
 171  -live- %i0, %i1, %i2, %r0, %r2, %r3
 171  switch %i0, <SwitchDictDescr 0:L11, 1:L12>
 175  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_buf> -> %r1
 180  getfield_gc_r %r1, FieldDescr<pypy.module._io.interp_stringio.UnicodeIO.inst_data> -> %r1
 185  getfield_gc_i %r1, FieldDescr<list.length> -> %i0
 190  L13:
 190  -live- %i0, %i1, %i2, %r0, %r2, %r3
 190  goto_if_not_int_eq %i2, %i0, L14
 195  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aa50bfbef8> -> %r5
 199  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aac0faf478> -> %r1
 203  newstr $0 -> %r4
 206  setfield_gc_r %r1, %r4, FieldDescr<stringbuilder.current_buf>
 211  setfield_gc_i %r1, $0, FieldDescr<stringbuilder.current_pos>
 216  setfield_gc_i %r1, $0, FieldDescr<stringbuilder.current_end>
 221  setfield_gc_i %r1, $0, FieldDescr<stringbuilder.total_size>
 226  setfield_gc_r %r5, %r1, FieldDescr<rpython.rlib.rutf8.Utf8StringBuilder.inst__s>
 231  setfield_gc_i %r5, $0, FieldDescr<rpython.rlib.rutf8.Utf8StringBuilder.inst__lgt>
 236  setfield_gc_r %r0, %r5, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_builder>
 241  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_w_value> -> %r1
 246  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r4
 251  getfield_gc_i %r1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i0
 256  getfield_gc_r %r5, FieldDescr<rpython.rlib.rutf8.Utf8StringBuilder.inst__s> -> %r1
 261  inline_call_r_v <JitCode 'll_jit_append__stringbuilderPtr_rpy_stringPtr'>, R[%r1, %r4]
 267  -live- %i0, %i1, %r0, %r2, %r3, %r5
 267  getfield_gc_i %r5, FieldDescr<rpython.rlib.rutf8.Utf8StringBuilder.inst__lgt> -> %i2
 272  int_add %i2, %i0 -> %i0
 276  setfield_gc_i %r5, %i0, FieldDescr<rpython.rlib.rutf8.Utf8StringBuilder.inst__lgt>
 281  setfield_gc_r %r0, $<* struct pypy.objspace.std.unicodeobject.W_UnicodeObject>, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_w_value>
 286  setfield_gc_i %r0, $1, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_state>
 291  goto L8
 294  ---
 294  L14:
 294  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_w_value> -> %r1
 299  -live- %i1, %r0, %r1, %r2, %r3
 299  guard_class %r1 -> %i0
 302  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_utf8_w> -> %i0
 307  -live- %i0, %i1, %r0, %r1, %r2, %r3
 307  switch %i0, <SwitchDictDescr 0:L15, 1:L16, 2:L17>
 311  unreachable
 312  ---
 312  L15:
 312  -live- %i1, %r0, %r1, %r2, %r3
 312  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r5
 317  L18:
 317  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aa47ddc5d0> -> %r1
 321  newlist $0, <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aa689c38d8>, FieldDescr<list.length>, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aa689c2288> -> %r4
 332  setfield_gc_r %r1, %r4, FieldDescr<pypy.module._io.interp_stringio.UnicodeIO.inst_data>
 337  residual_call_ir_i $<* fn UnicodeIO.write>, I[$0], R[%r1, %r5], <CallDescr(rri) EF=5> -> %i0
 347  -live- %i1, %r0, %r1, %r2, %r3
 347  setfield_gc_r %r0, %r1, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_buf>
 352  setfield_gc_r %r0, $<* struct pypy.objspace.std.unicodeobject.W_UnicodeObject>, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_w_value>
 357  setfield_gc_i %r0, $2, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_state>
 362  goto L8
 365  ---
 365  L16:
 365  -live- %i1, %r0, %r1, %r2, %r3
 365  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value> -> %r5
 370  goto L18
 373  ---
 373  L17:
 373  -live- %r1
 373  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>, %r1] -> %r3
 382  -live- %r3
 382  assert_not_none %r3
 384  -live- %r3
 384  guard_class %r3 -> %i0
 387  -live- %r3
 387  raise %r3
 389  ---
 389  L11:
 389  -live- %i1, %i2, %r0, %r2, %r3
 389  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_w_value> -> %r1
 394  getfield_gc_i %r1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i0
 399  goto L13
 402  ---
 402  L12:
 402  -live- %i1, %i2, %r0, %r2, %r3
 402  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_builder> -> %r1
 407  getfield_gc_i %r1, FieldDescr<rpython.rlib.rutf8.Utf8StringBuilder.inst__lgt> -> %i0
 412  goto L13
 415  ---
 415  L7:
 415  -live- %i0, %i1, %r0, %r2, %r3
 415  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_pos> -> %i2
 420  -live- %i0, %i1, %i2, %r0, %r2, %r3
 420  switch %i0, <SwitchDictDescr 0:L19, 1:L20>
 424  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_buf> -> %r1
 429  getfield_gc_r %r1, FieldDescr<pypy.module._io.interp_stringio.UnicodeIO.inst_data> -> %r1
 434  getfield_gc_i %r1, FieldDescr<list.length> -> %i0
 439  L21:
 439  -live- %i0, %i1, %i2, %r0, %r2, %r3
 439  goto_if_not_int_ne %i2, %i0, L22
 444  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_builder> -> %r1
 449  getfield_gc_r %r1, FieldDescr<rpython.rlib.rutf8.Utf8StringBuilder.inst__s> -> %r4
 454  ref_isvirtual %r4 -> %i0
 457  -live- %i0, %i1, %r0, %r2, %r3, %r4
 457  goto_if_not %i0, L23
 461  getfield_gc_r %r4, FieldDescr<stringbuilder.extra_pieces> -> %r1
 466  -live- %i1, %r0, %r1, %r2, %r3, %r4
 466  goto_if_not_ptr_nonzero %r1, L24
 470  residual_call_r_v $<* fn ll_fold_pieces__stringbuilderPtr>, R[%r4], <CallDescr(r) EF=5>
 476  -live- %i1, %r0, %r2, %r3, %r4
 476  L25:
 476  getfield_gc_r %r4, FieldDescr<stringbuilder.current_buf> -> %r5
 481  L26:
 481  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aa47ddc5d0> -> %r1
 485  newlist $0, <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aa689c38d8>, FieldDescr<list.length>, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aa689c2288> -> %r4
 496  setfield_gc_r %r1, %r4, FieldDescr<pypy.module._io.interp_stringio.UnicodeIO.inst_data>
 501  residual_call_ir_i $<* fn UnicodeIO.write>, I[$0], R[%r1, %r5], <CallDescr(rri) EF=5> -> %i0
 511  -live- %i1, %r0, %r1, %r2, %r3
 511  setfield_gc_r %r0, %r1, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_buf>
 516  setfield_gc_r %r0, $<* struct rpython.rlib.rutf8.Utf8StringBuilder>, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_builder>
 521  setfield_gc_i %r0, $2, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_state>
 526  goto L8
 529  ---
 529  L24:
 529  getfield_gc_i %r4, FieldDescr<stringbuilder.current_pos> -> %i0
 534  getfield_gc_i %r4, FieldDescr<stringbuilder.total_size> -> %i2
 539  -live- %i0, %i1, %i2, %r0, %r2, %r3, %r4
 539  goto_if_not_int_ne %i0, %i2, L27
 544  getfield_gc_r %r4, FieldDescr<stringbuilder.current_buf> -> %r1
 549  residual_call_ir_r $<* fn ll_shrink_array__rpy_stringPtr_Signed>, I[%i0], R[%r1], <CallDescr(ri) EF=5 OS_SHRINK_ARRAY> -> %r1
 558  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4
 558  setfield_gc_r %r4, %r1, FieldDescr<stringbuilder.current_buf>
 563  setfield_gc_i %r4, %i0, FieldDescr<stringbuilder.current_end>
 568  setfield_gc_i %r4, %i0, FieldDescr<stringbuilder.total_size>
 573  goto L25
 576  ---
 576  L27:
 576  goto L25
 579  ---
 579  L23:
 579  residual_call_r_r $<* fn ll_build_trampoline__v1269___simple_call__function_>, R[%r4], <CallDescr(r) EF=5> -> %r5
 586  -live- %i1, %r0, %r2, %r3, %r5
 586  goto L26
 589  ---
 589  L22:
 589  goto L8
 592  ---
 592  L19:
 592  -live- %i1, %i2, %r0, %r2, %r3
 592  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_w_value> -> %r1
 597  getfield_gc_i %r1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i0
 602  goto L21
 605  ---
 605  L20:
 605  -live- %i1, %i2, %r0, %r2, %r3
 605  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_builder> -> %r1
 610  getfield_gc_i %r1, FieldDescr<rpython.rlib.rutf8.Utf8StringBuilder.inst__lgt> -> %i0
 615  goto L21
 618  ---
 618  L5:
 618  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aac55491a0> -> %r3
 622  setfield_gc_i %r3, %i1, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 627  ref_return %r3
 629  ---
 629  L2:
 629  -live- %r0, %r1, %r3
 629  ref_copy %r3 -> %r2
 632  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value> -> %r3
 637  goto L4
 640  ---
 640  L3:
 640  -live- %r3
 640  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>, %r3] -> %r3
 649  -live- %r3
 649  assert_not_none %r3
 651  -live- %r3
 651  guard_class %r3 -> %i0
 654  -live- %r3
 654  raise %r3
