   0  inline_call_r_r <JitCode 'W_StringIO._decode_string'>, R[%r0, %r1] -> %r2
   7  -live- %r0, %r1, %r2
  10  inline_call_r_r <JitCode 'convert_arg_to_w_unicode'>, R[%r2, $<* struct rpy_string>] -> %r2
  17  -live- %r0, %r1, %r2
  20  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r3
  25  getfield_gc_i_pure %r2, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i1
  30  inline_call_r_i <JitCode 'len_w'>, R[%r1] -> %i2
  36  -live- %i1, %i2, %r0, %r3
  39  strlen %r3 -> %i0
  42  -live- %i0, %i1, %i2, %r0, %r3
  45  goto_if_not_int_is_true %i0, L1
  49  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_state> -> %i0
  54  -live- %i0, %i1, %i2, %r0, %r3
  57  switch %i0, <SwitchDictDescr 0:L2, 1:L3>
  61  L4:
  61  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_state> -> %i0
  66  -live- %i0, %i1, %i2, %r0, %r3
  69  goto_if_not_int_eq %i0, $1, L5
  74  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_builder> -> %r2
  79  getfield_gc_r %r2, FieldDescr<rpython.rlib.rutf8.Utf8StringBuilder.inst__s> -> %r1
  84  inline_call_r_v <JitCode 'll_jit_append__stringbuilderPtr_rpy_stringPtr'>, R[%r1, %r3]
  90  -live- %i1, %i2, %r0, %r2
  93  getfield_gc_i %r2, FieldDescr<rpython.rlib.rutf8.Utf8StringBuilder.inst__lgt> -> %i0
  98  int_add %i0, %i1 -> %i0
 102  setfield_gc_i %r2, %i0, FieldDescr<rpython.rlib.rutf8.Utf8StringBuilder.inst__lgt>
 107  L6:
 107  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_pos> -> %i0
 112  int_add %i0, %i1 -> %i0
 116  setfield_gc_i %r0, %i0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_pos>
 121  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab01c05398> -> %r1
 125  setfield_gc_i %r1, %i2, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 130  ref_return %r1
 132  ---
 132  L5:
 132  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_buf> -> %r1
 137  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_pos> -> %i0
 142  residual_call_ir_i $<* fn UnicodeIO.write>, I[%i1, %i0], R[%r1, %r3], <CallDescr(rrii) EF=5> -> %i1
 153  -live- %i1, %i2, %r0
 156  goto L6
 159  ---
 159  L2:
 159  -live- %i0, %i1, %i2, %r0, %r3
 162  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_pos> -> %i3
 167  -live- %i0, %i1, %i2, %i3, %r0, %r3
 170  switch %i0, <SwitchDictDescr 0:L7, 1:L8>
 174  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_buf> -> %r1
 179  getfield_gc_r %r1, FieldDescr<pypy.module._io.interp_stringio.UnicodeIO.inst_data> -> %r1
 184  getfield_gc_i %r1, FieldDescr<list.length> -> %i0
 189  L9:
 189  -live- %i0, %i1, %i2, %i3, %r0, %r3
 192  goto_if_not_int_eq %i3, %i0, L10
 197  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab1afe3c20> -> %r4
 201  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab1afe2ec8> -> %r2
 205  newstr $0 -> %r1
 208  setfield_gc_r %r2, %r1, FieldDescr<stringbuilder.current_buf>
 213  setfield_gc_i %r2, $0, FieldDescr<stringbuilder.current_pos>
 218  setfield_gc_i %r2, $0, FieldDescr<stringbuilder.current_end>
 223  setfield_gc_i %r2, $0, FieldDescr<stringbuilder.total_size>
 228  setfield_gc_r %r4, %r2, FieldDescr<rpython.rlib.rutf8.Utf8StringBuilder.inst__s>
 233  setfield_gc_i %r4, $0, FieldDescr<rpython.rlib.rutf8.Utf8StringBuilder.inst__lgt>
 238  setfield_gc_r %r0, %r4, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_builder>
 243  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_w_value> -> %r1
 248  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r5
 253  getfield_gc_i_pure %r1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i0
 258  inline_call_r_v <JitCode 'll_jit_append__stringbuilderPtr_rpy_stringPtr'>, R[%r2, %r5]
 264  -live- %i0, %i1, %i2, %r0, %r3, %r4
 267  getfield_gc_i %r4, FieldDescr<rpython.rlib.rutf8.Utf8StringBuilder.inst__lgt> -> %i3
 272  int_add %i3, %i0 -> %i0
 276  setfield_gc_i %r4, %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 L4
 294  ---
 294  L10:
 294  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_w_value> -> %r1
 299  inline_call_r_r <JitCode 'convert_arg_to_w_unicode'>, R[%r1, $<* struct rpy_string>] -> %r1
 306  -live- %i1, %i2, %r0, %r1, %r3
 309  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r2
 314  getfield_gc_i_pure %r1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i0
 319  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab495d9088> -> %r1
 323  newlist $0, <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab495d8100>, FieldDescr<list.length>, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab495cb0f8> -> %r4
 334  setfield_gc_r %r1, %r4, FieldDescr<pypy.module._io.interp_stringio.UnicodeIO.inst_data>
 339  residual_call_ir_i $<* fn UnicodeIO.write>, I[%i0, $0], R[%r1, %r2], <CallDescr(rrii) EF=5> -> %i0
 350  -live- %i1, %i2, %r0, %r1, %r3
 353  setfield_gc_r %r0, %r1, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_buf>
 358  setfield_gc_r %r0, $<* struct pypy.objspace.std.unicodeobject.W_UnicodeObject>, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_w_value>
 363  setfield_gc_i %r0, $2, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_state>
 368  goto L4
 371  ---
 371  L7:
 371  -live- %i1, %i2, %i3, %r0, %r3
 374  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_w_value> -> %r1
 379  getfield_gc_i_pure %r1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i0
 384  goto L9
 387  ---
 387  L8:
 387  -live- %i1, %i2, %i3, %r0, %r3
 390  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_builder> -> %r1
 395  getfield_gc_i %r1, FieldDescr<rpython.rlib.rutf8.Utf8StringBuilder.inst__lgt> -> %i0
 400  goto L9
 403  ---
 403  L3:
 403  -live- %i0, %i1, %i2, %r0, %r3
 406  getfield_gc_i %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_pos> -> %i3
 411  -live- %i0, %i1, %i2, %i3, %r0, %r3
 414  switch %i0, <SwitchDictDescr 0:L11, 1:L12>
 418  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_buf> -> %r1
 423  getfield_gc_r %r1, FieldDescr<pypy.module._io.interp_stringio.UnicodeIO.inst_data> -> %r1
 428  getfield_gc_i %r1, FieldDescr<list.length> -> %i0
 433  L13:
 433  -live- %i0, %i1, %i2, %i3, %r0, %r3
 436  goto_if_not_int_ne %i3, %i0, L14
 441  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_builder> -> %r1
 446  getfield_gc_r %r1, FieldDescr<rpython.rlib.rutf8.Utf8StringBuilder.inst__s> -> %r2
 451  ref_isvirtual %r2 -> %i0
 454  -live- %i0, %i1, %i2, %r0, %r2, %r3
 457  goto_if_not %i0, L15
 461  getfield_gc_r %r2, FieldDescr<stringbuilder.extra_pieces> -> %r1
 466  -live- %i1, %i2, %r0, %r1, %r2, %r3
 469  goto_if_not_ptr_nonzero %r1, L16
 473  residual_call_r_v $<* fn ll_fold_pieces__stringbuilderPtr>, R[%r2], <CallDescr(r) EF=5>
 479  L17:
 479  -live- %i1, %i2, %r0, %r2, %r3
 482  getfield_gc_r %r2, FieldDescr<stringbuilder.current_buf> -> %r2
 487  L18:
 487  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_builder> -> %r1
 492  getfield_gc_i %r1, FieldDescr<rpython.rlib.rutf8.Utf8StringBuilder.inst__lgt> -> %i0
 497  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab495d9088> -> %r1
 501  newlist $0, <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab495d8100>, FieldDescr<list.length>, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab495cb0f8> -> %r4
 512  setfield_gc_r %r1, %r4, FieldDescr<pypy.module._io.interp_stringio.UnicodeIO.inst_data>
 517  residual_call_ir_i $<* fn UnicodeIO.write>, I[%i0, $0], R[%r1, %r2], <CallDescr(rrii) EF=5> -> %i0
 528  -live- %i1, %i2, %r0, %r1, %r3
 531  setfield_gc_r %r0, %r1, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_buf>
 536  setfield_gc_r %r0, $<* struct rpython.rlib.rutf8.Utf8StringBuilder>, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_builder>
 541  setfield_gc_i %r0, $2, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_state>
 546  goto L4
 549  ---
 549  L16:
 549  getfield_gc_i %r2, FieldDescr<stringbuilder.current_pos> -> %i0
 554  getfield_gc_i %r2, FieldDescr<stringbuilder.total_size> -> %i3
 559  -live- %i0, %i1, %i2, %i3, %r0, %r2, %r3
 562  goto_if_not_int_ne %i0, %i3, L19
 567  getfield_gc_r %r2, FieldDescr<stringbuilder.current_buf> -> %r1
 572  residual_call_ir_r $<* fn ll_shrink_array__rpy_stringPtr_Signed>, I[%i0], R[%r1], <CallDescr(ri) EF=5 OS_SHRINK_ARRAY> -> %r1
 581  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
 584  setfield_gc_r %r2, %r1, FieldDescr<stringbuilder.current_buf>
 589  setfield_gc_i %r2, %i0, FieldDescr<stringbuilder.current_end>
 594  setfield_gc_i %r2, %i0, FieldDescr<stringbuilder.total_size>
 599  goto L17
 602  ---
 602  L19:
 602  goto L17
 605  ---
 605  L15:
 605  residual_call_r_r $<* fn ll_build_trampoline__v1201___simple_call__function_>, R[%r2], <CallDescr(r) EF=5> -> %r2
 612  -live- %i1, %i2, %r0, %r2, %r3
 615  goto L18
 618  ---
 618  L14:
 618  goto L4
 621  ---
 621  L11:
 621  -live- %i1, %i2, %i3, %r0, %r3
 624  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_w_value> -> %r1
 629  getfield_gc_i_pure %r1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i0
 634  goto L13
 637  ---
 637  L12:
 637  -live- %i1, %i2, %i3, %r0, %r3
 640  getfield_gc_r %r0, FieldDescr<pypy.module._io.interp_stringio.W_StringIO.inst_builder> -> %r1
 645  getfield_gc_i %r1, FieldDescr<rpython.rlib.rutf8.Utf8StringBuilder.inst__lgt> -> %i0
 650  goto L13
 653  ---
 653  L1:
 653  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab01c05398> -> %r1
 657  setfield_gc_i %r1, %i2, FieldDescr<pypy.objspace.std.intobject.W_IntObject.inst_intval>
 662  ref_return %r1
